点击后退按钮进入jsp页面

时间:2012-05-09 09:53:05

标签: java forms jsp servlets

我有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。怎么可能?

7 个答案:

答案 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)。