[Seasar-user:2651] Re: [S2JSF] 同じページを繰り返し表示する場合の戻るボタンの動作について

Sea Slug seaslug
2005年 10月 3日 (月) 19:52:40 JST


お疲れ様です。竹田です。

S2JSFを変更することなく、問題を解決する方法を思いつきました。

foreachのitemsに対応付けられた変数を仮にitemListとします。
itemListを一意に決めるデータ(itemListが何かの検索結果のリスト
なら検索キーなど)をkeyとします。一意に決めるデータがなければ、
itemListをシリアライズした文字列でもかまいません。

検索結果の表示ページにkeyをhiddenのinputタグとして埋め込んで
おき、immediate属性を付け、validatorを定義しておきます。

そしてvalidatorの中で、keyからitemListを生成し、サーバ側の
itemListを更新するようにします。

keyを埋め込んだhiddenタグをforeachよりも先に評価される場所に
置いておけば、foreachのApplyRequestValue以前にitemListの
同期が取れるため問題が解決すると思うのですが...
手がすいたときに実験して試してみます。

あと、前回提案しましたリクエスト毎のview云々は却下します。
ユーザが戻るボタンで戻った時点でのforeachの要素数を調べる
ためにviewを保存していたのですが、postされたデータを解析すれ
ば要素数はわかるはずなので。

いろいろ考えたのですがforeachのprocessDecodesの動作が鍵
のような気がしています。例えば、foreachタグの特定の属性が
trueの場合、itemsに対応付けられたdtoのリストをクライアントか
らポストされたデータで上書きする(dtoのすべての内容がポストさ
れることが前提)とか、別の属性がtureの場合、ポストされた内容
とサーバが保持しているdtoのリストとに齟齬が見つかったら例外を
吐くとかあると便利かなと思います。

_________________________________________________________________
ウィルス駆除も無料の 「MSN Hotmail」  http://www.hotmail.com/ 




Seasar-user メーリングリストの案内