9

我有2 jsp pages and one Servlet。我正在通过 servlet 从数据库中获取数据并将结果发送到result.jsp我显示结果的页面。但我想添加一个Back buttonresult.jsp通过点击back button我想去index.jsp,但问题是当我每次收到消息时都点击后退按钮Confirm form submission,这让我很恼火。我怎样才能避免这种情况Confirm form submission?也许它是在 servlet 中完成处理时出现的。

索引.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);

结果.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直接去没有这个消息。这怎么可能?

4

8 回答 8

7

您也可以使用它返回一页

<button type="button" name="back" onclick="history.back()">back</button>
于 2012-05-09T09:58:18.743 回答
2

您可以编写下面的代码,让您进入index.jsp您的result.jsp页面

<a href="index.jsp">Back</a>
于 2014-03-17T07:48:58.197 回答
1

如果你想要一个返回按钮去 index.jsp,为什么不做一个普通的链接呢?

<a href="index.jsp">Back</a>

只有两种方法可以摆脱消息,普通链接或window.location. 如果上一页始终相同,则无需使用复杂的功能客户端。如果页面可能不同,只需发布​​指向 result.jsp 的链接并使用它来实际打印反向链接!

编辑 :

以前的.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>

结果.jsp

out.println("<a href=\"" + request.getParameter("back") + "\">Back</a>");
于 2012-11-17T11:34:11.593 回答
1

尝试这个

<button type="button" 
    name="back" 
    onclick='window.location='<your_path>/index.jsp'>back</button>
于 2012-05-09T12:52:26.373 回答
1

这是使用 goBack() 方法创建返回按钮的最简单方法。这与单击浏览器顶部使用的“返回按钮”相同。

 <!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>
于 2014-10-27T15:39:59.287 回答
0

I experienced that form submit confirmation with Safari (not with IE/Chrome/FF).

The work around is submitting your form with "get" method. Of course this is only valid for "small" forms (max 2048 K).

于 2014-02-05T13:51:09.567 回答
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" ...>
于 2012-05-09T09:59:09.903 回答
0

尝试这个

<a href="${pageContext.request.contextPath}/index.jsp" class="btn btn-success">
    Back
</a> 

这里使用 bootstrap.css

于 2017-08-12T15:43:11.863 回答