-
Type: Bug
-
Resolution: Fixed
-
Priority: Major
-
None
-
Affects Version/s: 1.0.13-sp4
-
Component/s: Teeda Extension
-
None
入力系コンポーネントで下記のような条件の場合にそれぞれ挙動が違う.
・保持するプロパティを全てPageScopeに統一する
・画面の初期状態はdisabledにする
1.ラジオボタン(静的)
再描画時に選択値がはずれる
2.ラジオボタン(動的)
再描画時に選択値を保持している
3.チェックボックス
再描画時に選択値がはずれる
4.セレクトボックス(multiple)
再描画時に選択値がはずれる
5.セレクトボックス単一行(単一選択)
再描画時に選択値を保持している
2と5の挙動が正しい模様.
1、3、4がまずい原因は2つある.
・3と4は、ValueHolderUtil.getValueForRenderとgetValuesForRenderでsubmittedValueの存在チェックの仕方が違うのが原因。
getValuesForRenderを使うと、submittedValueが空のString配列の場合、そこで空配列を返している。
このロジックのためValueHolder.getValue()経由でPageまで値を取りに来ないのでPageScopeで例え値が復元できてもGETしていないので無駄である。
・InputRadioに関しては、https://www.seasar.org/issues/browse/TEEDA-490 と同様の問題と考えられる