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

Yasuo Higa higa
2005年 9月 27日 (火) 15:00:33 JST


<[E-MAIL ADDRESS DELETED]> の、
   "[Seasar-user:2609] [S2JSF]同じページを繰り返し表示する場合の戻るボタンの動作について" において、
   "Sea Slug <[E-MAIL ADDRESS DELETED]>"さんは書きました:

ひがです。

> お世話になっております。竹田と申します。
> 以前にも同じ件名で質問させていただきましたが、もう一度質問させていただきま
> す。
> 
> サンプルの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とは違って、異なるページに戻る場合には正常に動作するよう手が
> 加えてあるようです。同じページに戻る場合にも正常に動作するようにできない
> ものでしょうか?
> 
以前のメールのときは、解決策を思いつけなかったのですが、
もう一度考えてみます。
---
ひがやすを(http://d.hatena.ne.jp/higayasuo/)



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