仅使用jsp代码重定向到jsp页面

时间:2017-08-19 11:14:40

标签: javascript java html jsp jsp-tags

我正在尝试仅使用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>

这段代码工作得非常好,但我只是尝试用jsp而不使用javascript。

我试过了

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

    %>

但它不起作用,它会在页面加载后重定向页面。 请帮助解决一些代码

7 个答案:

答案 0 :(得分:0)

使用&#34;表单名称=&#39;用于&#39;行动=&#39; page2.jsp&#39;&#34;和按钮提交重定向页面

答案 1 :(得分:0)

你必须放入jquery / javascript

window.location.href =“page2.jsp” 要么 在表单动作参数值中需要设置

并更改按钮类型提交。

或将表单赋予id和document.getelementbyid(formid).submit();

答案 2 :(得分:0)

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

    %>

还可以像这样更改您的表单

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

答案 3 :(得分: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>

这里我在表单提交上调用了validate函数,它将基于validation返回true或false。仅当函数返回true时才提交表单。这里Javascript仅用于验证。

答案 4 :(得分:0)

使用

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

关于您要转发到其他网页的操作

尝试后,我在不使用scriptlet的情况下运行代码

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

答案 5 :(得分:0)

试试这个:

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

%>

答案 6 :(得分:0)

你只需要使用&#39; action&#39;在表格标签。这很简单。

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

输入类型应为&#34;提交&#34;但您可以根据需要更改值。