- - PR -
戻るボタンについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-08-17 23:32
本日「トランザクションについて」質問させてもらったものです。
たびたび失礼します。 現在、JSF+HIBERNATE+Springを使ってWebアプリを作っています。 その中でブラウザの戻るボタンについて質問があります。 その作っているWebアプリは、マスタDBのデータを編集して 更新するというもので、画面構成は 検索画面 ↓ 編集画面 ↓ 編集内容確認画面 ↓ 登録完了画面 となっており、このどの画面でもブラウザの戻るボタンを押すとキャッシュ?が そのまま表示されてしまい整合性がとれなくなってしまいます。 よく「有効期限が切れました」など表示されるサイトを見かけますが ああいうのはどうやって実現するのでしょうか? もしくは戻るボタンがおされたときは、最初の検索画面に戻れれば一番良いと思うのですが可能でしょうか? いろいろすみませんがよろしくお願いいたします。 |
|
投稿日時: 2005-08-18 00:40
POSTすれば大丈夫だと思います。
|
|
投稿日時: 2005-08-18 06:56
技術評論社の雑誌、WEB+DB PRESS VOL27にのっていました。
クライアント側での対処として以下のようにキャッシュしない ようにレスポンスヘッダでブラウザに伝える方法です。 Nocache.inc --- <%! private String getHTTPDate() { java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat8"E, dd MMM yyy HH:mm:ss zzz", java.util.Locale.US); formatter.setTimeZone(java.util.TimeZone.getTGimeZone("GMT")); return formtter.format(new java.util.Date()); } %> <% response.setHeader("Expires", getHTTPDate()); response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache"); %> 各JSPでは、<%@ include="Nocache.inc" %>をインクルードします。 この方法では、ブラウザがHTTPヘッダを正しく処理してくれる事が 前提であり、ブラウザの種類や設定によっては期待した効果が得ら れない可能性もあるため、サーバ側で対処も必要のようです。 |
|
投稿日時: 2005-08-18 09:16
>かつのりさん
ご返信ありがとうございます。 >POSTすれば大丈夫だと思います。 たぶんデータの受け渡しはアドレスに何も付与されないので postになっていると思うのですがなにかほかの設定が必要になってくるのでしょうか? >つばささん ご返信ありがとうございます。 教えていただいた方法を試してみました!なるほどこれでキャッシュの状態を設定できるのですか!ありがとうございます、。 >この方法では、ブラウザがHTTPヘッダを正しく処理してくれる事が >前提であり、ブラウザの種類や設定によっては期待した効果が得ら >れない可能性もあるため、サーバ側で対処も必要のようです。 基本的に使用するブラウザはIEだと思うのですが サーバ側の対処となるとどういう処理が必要になってくるのでしょうか? いろいろすみませんがよろしくお願いいたします。 |
|
投稿日時: 2005-08-18 10:02
>サーバ側の対処となるとどういう処理が必要になってくるのでしょうか?
「J2EEパターン」の「3.2.4フォームの重複送信を放置している」が参考になると思います. |
|
投稿日時: 2005-08-18 16:34
以前私も同じようなことで質問したことがあります。ご参考までに↓
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20707&forum=12 ただしNocache.incはIEのみでしか有効でないようで、ネットスケープなどでは キャッシュを読んでしまうようです。 |
1