[TEEDA-495] 初期状態がdisabledの入力系コンポーネントで挙動が違う Created: 2009-01-07  Updated: 2009-01-15  Resolved: 2009-01-15

Status: Closed
Project: Teeda
Component/s: Teeda Extension
Affects Version/s: 1.0.13-sp4
Fix Version/s: None

Type: Bug Priority: Major
Reporter: shot Assignee: shot
Resolution: Fixed Votes: 0
Labels: None


 Description   

入力系コンポーネントで下記のような条件の場合にそれぞれ挙動が違う.
・保持するプロパティを全て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 と同様の問題と考えられる



 Comments   
Comment by koichik [ 2009-01-15 ]

Fix Version/s を修正するため再オープン.

Comment by shot [ 2009-01-15 ]

修正は入れないことになったのでcloseします。

Comment by shot [ 2009-01-08 ]

rev4214で修正しました.

http://svn.seasar.org/browse/?view=rev&root=teeda&revision=4214

Comment by shot [ 2009-01-07 ]

ValueHolderUtilをなおす方法は既存への影響が大きいため、やめます。
特にRequiredValidatorでvalidじゃない場合の挙動などが変わってしまいそうなので
やめます。

その代わりにSelectManyCheckbox/SelectManyListboxのレンダラでdisabledのときの
描画方法を修正します。

Generated at Sat Apr 20 01:25:14 JST 2024 using Jira 9.15.0#9150000-sha1:9ead8528714127d8cfabf2446010d7e62c0a195c.