尝试从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>
请帮我 。任何帮助将不胜感激。感谢你。
答案 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>
希望它会对你有所帮助。