在按钮单击时从JSP重定向到servlet

时间:2015-01-08 17:46:36

标签: java javascript jsp servlets

尝试从JSP链接到servlet。点击名称=" conf"我需要重定向到一个servlet" / Initial" 。问题是当我使用type="button"没有任何反应时,当我使用type="submit"时,页面会被定向到servlet" / Initial"并在那里采取行动。我无法确定问题。

这是我的代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="reg.serv.*"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
</head>
<body>
    <form method="post">
        <center>
            <table border="1" width="30%" cellpadding="3">
                <thead>
                    <tr>
                        <th colspan="2">Register Here</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Username</td>
                        <td><input type="text" class="" id="username" name="username1" value="" /></td>
                    </tr>
                    <tr>
                        <td>Password</td>
                        <td><input type="password" name="password1" id="password" value="" /></td>
                    </tr>
                    <tr>
                        <td>Confirm Password</td>
                        <td><input type="password" name="confirmpassword1" id="confirmpassword" value="" /></td>
                    </tr>
                    <tr>
                        <td>Mobile Number</td>
                        <td><input type="text" class="" id="mob" name="mob1" value="" /></td>
                    </tr>
                    <tr>
                        <td>Email ID</td>
                        <td><input type="text" class="" id="email" name="email1" value=" " /></td>
                    </tr>
                    <tr>
                        <td>Address</td>
                        <td><textarea id="address" name="address1"></textarea></td>
                    </tr>

                    <tr>
                        <td colspan="2">Already registered <a href="Index.jsp">Login Here</a></td>
                    </tr>
                </tbody>

                <tr>
                    <td><input type="button" value="confirm" name="conf" /></td>
                    <td><input type="reset" value="Reset" /></td>
                    <td><input type="button" value="Cancel" name="Cr" onclick="openPage('Initial.jsp')" /></td>
                </tr>
        </table>
    </form>

    <script type="text/javascript">

        function openPage(pageURL) {
            window.location = pageURL;
        }

    </script>

    <%
        String x = request.getParameter("conf");

        if (x != null && x.equals("confirm")) {
            //response.sendRedirect("/Initial");
            RequestDispatcher dispatcher = request.getRequestDispatcher("/Initial");
            dispatcher.forward(request, response);
        }
    %>

</body>
</html>


请帮我 。任何帮助将不胜感激。感谢你。

6 个答案:

答案 0 :(得分:1)

你必须写

<form action=/your_servlet_page_name>

你必须使用

<input type="submit" value="confirm" name="conf"/>

此外,您还必须将您的servlet页面映射到 web.xml 文件,如

<servlet-mapping>
    <servlet-name>CheckLogin</servlet-name>
    <url-pattern>/CheckLogin</url-pattern>
</servlet-mapping>

答案 1 :(得分:1)

<form action = "servlet-name" method = "method in the servlet">
<input type ="submit" value = "val">
</form>

这是一种简单的方法。如果你使用最新的jre我认为7及以上,你不需要在web.xml文件中声明servlet。 @WebServlet(“/ servlet-url”)可以解决问题。

答案 2 :(得分:0)

尝试仅更改脚本

<script type="text/javascript">
 function openPage(pageURL)
 {
 window.location.href = pageURL;
 }
</script>

答案 3 :(得分:0)

function openPage(pageURL) {
            window.location = pageURL;
        }
  

在上面的代码片段中,pageURL必须是一个绝对URL,在处理servlet的情况下可能会有所不同,因此可以在下面使用它代替

location.href = (location.href).substr(0, (location.href).lastIndexOf('xyz.jsp'))+"/abc";
  
    

这里'abc'是我们必须将'xyz.jsp'重定向到的servlet,即使有很多按钮也可以使用,可以编写相应的函数以重定向到相应的servlet。     在输入类型为“按钮”或“提交”的情况下也可以使用。

  

答案 4 :(得分:-1)

我没有得到你想要做的,但重定向正在使用: response.sendRedirect(request.getContextPath());

response.sendRedirect(String url);

答案 5 :(得分:-1)

如果你想使用type =“button”而不是type =“submit”。你可以点击按钮使用javascript功能。像

<script>
function doSubmit(){
var actionURL ="MENTION URL YOU WANT TO REDIRECT";
// perform your operations

myForm.submit(actionURL); OR
myForm.submit();
}

</script>
<form name="myForm">
    <input type="button" name="conf" value="conf" obclick="doSubmit();">
</form> 
希望它会对你有所帮助。