Solved

Insert JSP inside Javascript

Posted on 2004-08-31
8
1,215 Views
Last Modified: 2008-02-01
Hi,

I need to determine if the browser supports javascript or not and redirect the user appropriately.  If the user does not support js, I will have to use "response.sendRedirect" in jsp, if not I can use the form action tag.  I want to know if the following code works.  Can anyone confirm if I am doing the right thing.  

Thanks.

<%
      String sRedirect = "http://www.yahoo.com";
%>
<html>
<head>
<title>Test</title>
</head>
<script>
document.write('JavaScript is turned on!');
function submitForm() {
  document.testForm.submit();
}
</script>
<body onLoad="submitForm()">
<noscript>
  <p>
   <b>
        JavaScript is turned off!
   <%
         System.out.println(" -- javascript is turned off ---- ");
      System.out.println(" -- redirect url = " + sRedirect);
      
      if(sRedirect!=null && sRedirect.length()>0)       
            response.sendRedirect(sRedirect);
      %>
   </b>
  </p>
</noscript>
<form name="testForm" action="<%=sRedirect%>" method="post">
</form>
</div>
</body>
</html>
0
Comment
Question by:radha77
8 Comments
 
LVL 35

Expert Comment

by:TimYates
ID: 11944847
>      if(sRedirect!=null && sRedirect.length()>0)      
>           response.sendRedirect(sRedirect);

that will send you to the other site via the

          response.sendRedirect(sRedirect);

in every case (whether you have javascript or not), as the JSP will be executed at the server (before the client gets the page), and you will go to the redirect site before the javascript has a chance to function...
0
 

Author Comment

by:radha77
ID: 11945256
Thanks for your response.  Well what I am actually trying to achieve is to reduce the time it takes to go to the other page.  I have seen more than once that "response.sendRedirect(sRedirect);" takes more time than js "window.location".  How can I accomplish this?  Pls let me know.

Thanks.
0
 
LVL 11

Expert Comment

by:sompol_kiatkamolchai
ID: 11948580
    if(sRedirect!=null && sRedirect.length()>0)      
          response.sendRedirect(sRedirect);

This code will execute every time you access this jsp and not depends on whether browser support javascript or not. since javascript will execute after jsp code.
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
LVL 35

Expert Comment

by:TimYates
ID: 11949985
I'd just use response.sendRedirect as that is guaranteed to work in every case...

Maybe I'm missing the point though...  could you explain the problem a bit more if that answer isn't good enough? :-)
0
 
LVL 6

Expert Comment

by:CodingExperts
ID: 11949992
Hi radha
I would suggest you to display the message "Javascript Not enabled.Either enable JavaScript or Alternatively click on the link"  with a link for an alternate url for the user .

Coding Experts
0
 

Author Comment

by:radha77
ID: 11969672

Thanks all for your responses.  I bascially want to avoid response.sendRedirect as it take more time to redirect.  Well I have used meta refresh tags with noscript and it serves the purpose.

<!--When javscript is disabled -->
<noscript>
<p>JavaScript is turned off!</p>
<meta http-equiv="Refresh" content="0;url=<%=sRedirect%>">
</noscript>

<!--when javscript is enabled -->
<form name="testForm" action="<%=sRedirect%>" method="post">


0
 

Accepted Solution

by:
CetusMOD earned 0 total points
ID: 12524860
PAQed, with points refunded (50)

CetusMOD
Community Support Moderator
0

Featured Post

Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This tutorial shows how to create a greeting card by combining two image layers and a text layer on a PC using a free image editing app.
Do you use a spreadsheet like Microsoft's Excel?  Have you ever wanted to link out to a non excel file on your computer or network drive?  This is the way I found to do it!
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question