2017-08-19 5 views
0

J'essaye de rediriger vers une autre page JSP en utilisant uniquement du code JSP.rediriger vers la page jsp en utilisant le code jsp uniquement

index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Testing</title> 
     <script> 
     function vali() 
     { 
      var name= document.for.name.value; 
      if(name!="") 
      { 
       window.location.("page2.jsp"); 
      } 
      else{ 
       alert("enter name"); 
      } 
     } 
     </script> 
    </head> 
    <body> 
     <form name="for"> 
     <table> 
      <tr><td>Enter name:</td> 
       <td><input type="text" name="name" value=""></td> 
      </tr> 
      <tr><td> 
       <input type="button" value="click" onclick="vali()"> 
       </td> 
      </tr> 
     </table> 
      </form> 
    </body> 
</html> 

page2.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body> 
     <h1>Page2 welcomes u</h1> 
    </body> 
</html> 

Ce code fonctionne parfaitement bien, mais je suis en train de le faire que par jsp sans utiliser javascript.

J'ai essayé

<% 
     String name = request.getParameter("name"); 
      if(name!=null){ 
       response.sendRedirect("page2.jsp"); 
     } 

    %> 

mais ca marche pas, il redirige la page dès que chargement de la page. S'il vous plaît aider avec un code

Répondre

0

Utiliser "form name = 'pour' action = 'page2.jsp'" et bouton SOUMETTRE rediriger la page

0

vous devez simplement mettre en jquery/javascript

fenêtre .location.href = "page2.jsp" ou en valeur du paramètre d'action de formulaire doivent fixer

et changer le type de bouton soumettre.

ou de donner forme à id et document.getelementbyid (formid) .submit();

0

Ajoutez ce code dans votre index.jsp:

 <% 
     if(request.getMethod().equals("POST")) { 
      String name = request.getParameter("name"); 
      if(name != null && name.length() != 0) 
       response.sendRedirect("page2.jsp"); 
      else  
    %> 
       <script> 
        alert("enter name please"); 
       </script> 
    <% 
     } 

    %> 

Et aussi changer votre formulaire comme celui-ci

<form method="post"> 
    <table> 
     <tr><td>Enter name:</td> 
      <td><input type="text" name="name" value=""></td> 
     </tr> 
     <tr><td> 
      <input type="submit" value="click"> 
      </td> 
     </tr> 
    </table> 
     </form> 
+0

merci, je pense que vous avez compris mon problème, mais votre code ne fonctionne pas (j'ai ajouté la section '{' in else) – BlindCoder

+0

@BlindCoder J'ai vérifié le code ça marche. veuillez l'utiliser tel quel. – laksys

0

Remplacer ci-dessous le code:

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Testing</title> 
<script> 
    function vali() { 
     var name = document.for.name.value; 
     if (name != "") { 
      return true; 
     } else { 
      alert("enter name"); 
      return false 
     } 
    } 
</script> 
</head> 
<body> 
    <form name="for" action="page2.jsp" onsubmit="return vali();"> 
     <table> 
      <tr> 
       <td>Enter name:</td> 
       <td><input type="text" name="name" value=""></td> 
      </tr> 
      <tr> 
       <td><input type="submit" value="click"></td> 
      </tr> 
     </table> 
    </form> 
</body> 
</html> 

Ici, j'ai validate appel function sur le formulaire submit qui retournera true ou false base sur validation.it soumettre le formulaire seulement si function re Activez true.Here Javascript est juste utilisé pour la validation.

+0

merci, cela m'aider beaucoup, mais je veux le faire sans utiliser javaScript – BlindCoder

+0

Comment vous validez les données sans javascript? Ici, javascript suffit de valider les données. –

0

Utilisez

<%=request.getRequestDispatcher("<path to another page>").forward(request, response)%> 

sur l'action de l'endroit où vous souhaitez transférer vers une autre page

Après avoir essayé je reçois le code de travail sans utiliser de scriptlets

 <form name="for"> 
      <table> 
       <tr><td>Enter name:</td> 
        <td><input type="text" name="name" value=""></td> 
       </tr> 
       <tr> 
        <td> 
         <input type="button" value="click" onclick=" 
           window.location = 'page2.jsp'"> 
        </td> 
       </tr> 
      </table> 
     </form> 
0

Essayez ceci:

<% 
    String name = request.getParameter("name"); 
     if(!name.equals("") || name.length() != 0){ 
      response.sendRedirect("page2.jsp"); 
    } 

%> 
0

Vous avez juste besoin d'utiliser 'action' dans le tag de formulaire. C'est très simple.

<form action="page2.jsp" method="post"> 
    <input type="submit" value="Click Here"/> 
</form> 

Le type d'entrée doit être "submit" mais vous pouvez modifier la valeur selon vos besoins.