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

Sea Slug seaslug
2005年 9月 27日 (火) 14:41:13 JST


お世話になっております。竹田と申します。
以前にも同じ件名で質問させていただきましたが、もう一度質問させていただきま
す。

サンプルのforeach2のように、同じページを繰り返し表示して、なおかつ表示される

コントロールの数が変化するような場合、ブラウザの「戻る」ボタンをクリックした
後の
動作が奇妙に思えることがあります。

例えばforeach2のサンプルを少しいじって、以下のようにテーブルの各行にhelloへ
の
リンクを張ります。

<table border="1">
    <tr bgcolor="#7777FF">
        <th>delete</th>
        <th>input</th>
        <th>link</th>
    </tr>
    <span m:inject="s:forEach" m:items="#{forEach2DtoList}" m:var="e">
    <tr>
    	<td><input type="checkbox" m:value="#{e.delete}"/></td>
    	<td><input id="input1" type="text" m:value="#{e.input}" 
m:required="true"/>
    		<span m:inject="h:message" m:for="input1"/></td>
    	<td><a href="" m:action="hello">to Hello</a></td>
    </tr>
    </span>
</table>

この状態でforeach2Listを表示させます。
はじめに1行目(aaa)を削除します(1行目にチェックを入れてupdateボタンをクリッ
ク)
ブラウザの戻るボタンではじめの状態に戻します。
このとき、1行目から4行目の"to Hello"のリンクは正常に動作しますが、
最後の行の"to Hello"はhelloのページには遷移せず、Foreach2Listのページが
再描画されます。

削除したのに「戻る」ボタンをクリックするほうが悪いというのももっともな話です
が、
実際の場面では削除以外にもforeachの要素数が変化してしまう場面があり、
同じように、サーバ側が保持しているforeachの要素数とクライアントに表示され
ているforeachの要素数が食い違っている場合、同様の現象がおきます。

S2JSFはJSFとは違って、異なるページに戻る場合には正常に動作するよう手が
加えてあるようです。同じページに戻る場合にも正常に動作するようにできない
ものでしょうか?

ユーザが戻るボタンをクリックしたことにより処理を継続できないのなら、せめて
再描画ではなく何らかのエラーメッセージを表示できるようにしたいのですが。

_________________________________________________________________
無料でメールボックス250MBの 「MSN Hotmail」 http://messenger.msn.co.jp/ 




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