1

私は3 jsp pages(index.jsp, result1.jsp,result2.jsp)と 1 つ持っていservletます。以下のように処理を行っています。

index.jsp

<form method="post" action="MYSERVLET" >
<input type="text" name="studentname" id="studentname"/>
<input type="submit" value="click" />// goes to a servlet named as MYSERVLET
</form>

マイサーブレット

 String t=request.getParameter("studentname");
------fetching data from database and sending to result1.jsp------

      String nextJSP = "/result1.jsp";
      RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
      dispatcher.forward(request,response);

結果1.jsp

//サーブレットからデータを取得してデータを表示しresult1.jsp、同じ値をサーブレットに渡しますresult2.jsp

out.println(retrieved result from servlet);
<a  href="result2.jsp?somestring=<%out.println(retrieved result from servlet);%>"> <%out.println(retrieved result from servlet);%></a>// after clicking on "retrieved result from servlet" i am passing this retrieved value to another jsp result2.jsp and also retrieving some data from database as follows:

result2.jsp

String w=request.getParameter("somestring");
out.println(w);

back button here (in result2.jsp)クリックback buttonするとresult1.jsp、以前に表示されたデータが表示される場所に移動できるようにします(out.println(retrieved result from servlet);)。しかし、ブラウザーの戻るボタン (result2.jsp 内) をクリックすると、アラートが表示されるたびに"Confirm Form Resubmission" そのページをリロードして表示されます(out.println(retrieved result from servlet);)。このアラートを回避したいのですが、どうすれば回避できますか? アラートなしでそのページを直接見るにはどうすればよいですか?

4

2 に答える 2

1

を使用してセッション内のすべてのデータを 1 ページ目自体に保持しsession.setAttribute("name",value);、2 ページ目にランディングした後、ボタンのクリック時にデータなしで firstPage のアドレスを指定し、1 ページ目に以前のデータを表示するように使用session.getAttribute("name"); します。ページを切り替えると、ページがリロードされ、セッション値が取得されます。

于 2012-05-29T08:40:38.207 に答える