[Seasar-user:11400] Teedaでエラー発生時にチェックボックスの入力値を生かしたい

Taro Unno [E-MAIL ADDRESS DELETED]
2007年 11月 2日 (金) 08:55:47 JST


海野と申します。
いつもお世話になっております。

Teedaのチェックボックスの動作について質問です。

Pageクラスのdo〜メソッドで、入力値の内容によって
FacesMessageUtil.addErrorMessageメソッドで
エラーメッセージを設定して、自画面を表示しています。
do〜メソッドはvoidです。

この画面はPageクラスにDtoクラスの配列(AaaDto[] aaaItems)という
配列を用意した、一覧表示画面です。
1行1行にチェックボックスがあります。
foreachで表示しています。
hiddenでaaaItemsSaveしています。
aaaItemsはサブアプリケーションスコープです。

チェックボックスを選択して、do〜メソッドを実行して、
エラーメッセージが設定されて自画面に戻ると、
入力前の選択状態に戻ってしまいますが、これを解決したいです。

例)
初期表示
 1行目 チェックなし
 2行目 チェックなし
 3行目 チェックなし
↓
チェックボックスを次のように選択
 1行目 チェックあり
 2行目 チェックあり
 3行目 チェックなし
↓
ボタン押下でdo〜メソッド実行(1回目)
↓
FacesMessageUtil.addErrorMessageを設定して
自画面遷移
↓
チェックボックスの状態は下記の通り
 1行目 チェックあり
 2行目 チェックあり
 3行目 チェックなし
↓
2行目のチェックボックスを外す
 1行目 チェックあり
 2行目 チェックなし ←チェック外す
 3行目 チェックなし
↓
ボタン押下でdo〜メソッド実行(2回目)
↓
FacesMessageUtil.addErrorMessageを設定せず
自画面遷移
↓
次のように、チェックボックスの状態が、ボタン1回目の
選択状態に戻ってしまう。
 1行目 チェックあり
 2行目 チェックあり ←選択状態になってしまう
 3行目 チェックなし

これを、
 1行目 チェックあり
 2行目 チェックなし
 3行目 チェックなし
という状態にしたいです。

1回目のボタン押下の後にhiddenで選択状態が保存され
(HTMLに書き出され(←何が書き出されるか分かっていませんが))
addErrorMessageすると2回目もその状態から
状態を復帰するのかな、と思っています。

addErrorMessageした場合でもチェックボックスの入力値を生かすには
どうしたらよいか、アドバイスいただけませんでしょうか。
どうぞ宜しくお願いします。
(StrutsだとActionFormのresetメソッドでクリアしたりしますよね。)



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