2017-08-19 17 views
0

Jspコードを使用して別のJSPページにリダイレクトしようとしています。jspコードのみを使用してJSPページにリダイレクト

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> 

このコードは完全に正常に動作しますが、私はJavaScriptを使用せずにのみ、JSPでそれをやろうとしています。

私は

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

    %> 

を試してみましたが、その作業はありません、それはページが読み込まれるとすぐにページをリダイレクトします。 はリダイレクト

答えて

0

使用「フォーム名=アクション= 『page2.jsp』 『は』」ボタンいくつかのコードをページあなただけのjqueryの/ javascriptの

ウィンドウに配置する必要があり

0

を提出助けてください.location.href =「page2.jsp」フォームアクション・パラメータ値の または を

を設定すると、ボタンの種類が提出変更する必要があります。

またはidとdocument.getelementbyid(formid).submit();にフォームを指定します。コードの下に置き換え

 <% 
     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> 
    <% 
     } 

    %> 

をし、また、この

<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

あなたのindex.jspにこのコードを追加します。関数はフォームsubmitにtrueまたはfalseを返します。 Javascriptは検証のためだけに使用されます。

+0

ありがとうございます、私の問題を理解していると思いますが、あなたのコードが動作していないと思います(私は '{'をelseセクションに追加しました) – BlindCoder

+0

@BlindCoder動作しているコードをチェックしました。それをそのまま使用してください。 – laksys

0

のようなフォームを変更します:ここで

<%@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> 

私はコール検証を持って

+0

ありがとう、それは私を助けてくれるが、私はjavaScriptを使わないでそれをやりたい。 – BlindCoder

+0

JavaScriptを使わないでデータを検証する方法は?JavaScriptはデータを検証するだけです。 –

0

あなたは

 <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

はこれを試してみてください、私はスクリプトレットを使用せずに動作するコードを取得しようとした後、別のページ

に転送したい場所からのアクションの使用

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

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

%> 
0

フォームタグで 'action'を使うだけです。それはとても簡単です。

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

入力タイプは「送信」にする必要がありますが、必要に応じて値を変更することができます。

関連する問題