我有2 jsp pages and one Servlet
。我通过servlet从数据库中获取数据并将结果发送到我显示结果的result.jsp
页面。但我想在Back button
中添加result.jsp
,点击back button
我想转到index.jsp
,但问题是我每次收到消息时点击后退按钮Confirm form submission
这让我感到恼火。我怎样才能避免这种Confirm form submission
?也许是因为处理是在servlet中完成的。
的index.jsp
<form method="post" action="Student">
<input type="text" name="studentname"/>
<input type="submit" value="search"/>
</form>
学生servlet
String student_name=request.getParameter("studentname");
-------fetching data from database------------
-------------------sending to result.jsp------
String nextJSP = "/result.jsp";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
dispatcher.forward(request,response);
result.jsp中
//displaying data here
<form action="index.jsp">
<input type="submit" value="back"/>// a back button is here which is going to index.jsp
</form>
修改
从result.jsp
我要转到另一个页面result1.jsp
,如下所示
在result.jsp
我写了以下内容:
<a href="result1.jsp.jsp?a code=<%out.println(student_name);%>"><%out.println(student_name);%></a>
点击上面的超链接,我转到result1.jsp
我想在这里添加一个后退按钮(在result1.jsp中),点击后我想对result.jsp做,但是当点击后退按钮时,我每次都会得到Confirm form submission
。我在result1.jsp
<input type="button" value="Back" onclick="javascript:history.go(-1)">
我仍然收到该消息Confirm form submission
。我怎么能避免这个?我想直接转到此result.jsp
。怎么可能?
答案 0 :(得分:5)
您也可以使用它来返回一页
<button type="button" name="back" onclick="history.back()">back</button>
答案 1 :(得分:2)
您可以在index.jsp
页面上写下以下代码result.jsp
<a href="index.jsp">Back</a>
答案 2 :(得分:1)
试试这个
<button type="button"
name="back"
onclick='window.location='<your_path>/index.jsp'>back</button>
答案 3 :(得分:1)
如果你想要一个后退按钮去index.jsp,为什么不只是建立一个普通的链接?
<a href="index.jsp">Back</a>
只有两种方法可以摆脱消息,普通链接或window.location
。如果上一页始终相同,则无需使用复杂的功能客户端。如果页面可能不同,只需将链接发布到result.jsp并使用它来实际打印后退链接!
编辑:
previous.jsp
<form method="post" action="Student">
<input type="hidden" name="back" value="previous.jsp" />
<input type="text" name="studentname"/>
<input type="submit" value="search"/>
</form>
result.jsp中
out.println("<a href=\"" + request.getParameter("back") + "\">Back</a>");
答案 4 :(得分:1)
这是使用goBack()方法创建goBack按钮的最简单方法。这与点击&#34;后退按钮&#34;相同。在浏览器顶部使用。
<!DOCTYPE html>
<html>
<head>
<script>
/* The back() method loads the previous URL in the history list.
This is the same as clicking the "Back button" in your browser.
*/
function goBack() {
window.history.back()
}
</script>
</head>
<body>
<button onclick="goBack()">Go Back</button>
<p>Notice that clicking on the Back button here will not result in any action, because there is no previous URL in the history list.</p>
</body>
</html>
答案 5 :(得分:0)
您可以使用常见的button
。
<input type="button" value="Back" onclick="javascript:history.go(-1)">
使用history.go(-1)
,您的浏览器只会通过从缓存中读取来显示上一页,它不会将您的数据重新提交到服务器,因此不会发生Confirm form submission
。
修改强>
我错了!
您需要的只是客户端重定向,在处理从result.jsp
提交的表单后,您可以在index.jsp
中写出类似的内容:
response.sendRedirect("result.jsp");
因此,您需要一个参数来帮助您result.jsp
判断它是一个简单的显示请求还是表单提交,如下所示:
String action = request.getParameter(action);
if("submit".equals(action)) {
// handle form data
response.sendRedirect("result.jsp");
} else {
// other code to display content of result.
}
在index.jsp
中,它会是这样的:
....
<form action="result.jsp?action=submit" ...>
答案 6 :(得分:0)
我通过Safari体验过表单提交确认(不是使用IE / Chrome / FF)。
解决方法是使用“获取”方法提交表单。当然这只适用于“小”形式(最多2048 K)。