[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 メーリングリストの案内