- - PR -
ブラウザの戻るボタンの対応
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-01-19 21:12
---main.jsp---
<a href="aaa1.jsp?a=1"></a> <a href="aaa2.jsp?a=2"></a> ---aaa1.jsp--- 自作クラスA.setTEMP(request.getParamerter("a")) <%=自作クラスA.getTEMP() + 1%> ---aaa2.jsp--- 自作クラスA.setTEMP(request.getParamerter("a")) <%=自作クラスA.getTEMP() + 2%> (型変換は省きます) main.jspからaaa1に遷移すると2が表示され、 次にaaa2に遷移すると4が表示されます。 ここまではいいと思うのですがブラウザで戻るが押されると、 aaa1の画面で3と表示されます。 どう対処したらいいでしょう。よろしくお願いします。 | ||||
|
投稿日時: 2005-01-19 22:10
こんにちは。
「aaa1.jspで<戻る>ボタンを押してmain.jspに戻り、再度aaa1.jspに遷移すると、1と表示されて欲しい」ということですか? それと、自作クラスAのインスタンスをそれぞれのjspでどう作っているか、が分かる程度のコードをもう少し書いてみてはいかがでしょう? 例えば、requestから取り出しているとか、sessionから取り出しているとか、毎回newしているとか、です。 | ||||
|
投稿日時: 2005-01-19 23:10
説明不足ですいません。
main.jsp は左フレームで <a href="aaa1.jsp?a=1"></a> <a href="aaa2.jsp?a=2"></a> をクリックするとそれに対応したファイルが右フレームに表示されます。 この例だと戻るを押したときは数値は2になってほしいです。 aaa1.jsp、aaa2.jspとかいてありますが 実はaaaServlet→aaa2.jspのような経由でjspを呼び出しています。 よろしくお願いします。 aaaServlet ========================================================================== public class aaaServlet extends HttpServlet{ public void doPost(HttpServletRequest request, HttpServletResponse response){ try{ HttpSession session = request.getSession(true); // Sessionオブジェクト 自作クラスA 自作クラスA = new 自作クラスA(); // Sessionオブジェクトにデータを格納 session.setAttribute("自作クラスA" , 自作クラスA); getServletContext().getRequestDispatcher("/aaa.jsp").forward(request, response); aaa.jsp ==================================================================== <%@page contentType="text/html;charset=Shift_JIS"%> <%@page errorPage="Error.jsp"%> <jsp:useBean id=" 自作クラスA " class=" 自作クラスA " scope="session"/> | ||||
|
投稿日時: 2005-01-19 23:34
これじゃぁだめ? session→request | ||||
|
投稿日時: 2005-01-20 00:33
こんにちは。
右フレームに表示されている画面、表示される値をそれぞれ書くと、 0 ? ↓aaa1へのリンククリック 1 aaa1 表示=2 ↓aaa2へのリンククリック 2 aaa2 表示=4 ↓戻るボタンクリック 3 aaa1 表示=3 ですよね。 私の想像力ではまだ分からないことがあるのですが、少なくとも、2から3の間では、ブラウザのキャッシュは使われていないと考えられます。 つまり、Servletを経由しているのだとおもいますが、その際、サーブレット側でrequest.getParameter("a")すると何が取れるのでしょう? 恐らく2ではないかと思うのですが。 それから、Beanのscopeをrequestにしたらどうなりますか? これだけでは解決にはなりませんが、考える糸口にはなるのではないかと思います。 | ||||
|
投稿日時: 2005-01-22 00:36
sessionをrequestに変更することで成功しました!
有難うございます。 |
1