[Seasar-user:9422] [S2JSF1.0.25]Select項目の値を空にしても、以前の値が再表示される
SCC 花岡 貴志
[E-MAIL ADDRESS DELETED]
2007年 7月 25日 (水) 14:08:31 JST
はじめまして。
花岡と申します。
以後よろしくお願いいたします。
実行環境
・JDK1.5.0_07
・S2JSF1.0.25
・Tomcat5.5.17
を使用しております。
早速なのですが、以前メーリングリスト4254にてテキストフィールドを
空にしても、以前の値が再表示されるという問題が発生していましたが、
Selectタグにおいても同様の事象が発生致します。
具体的な動作は、SelectOneMenu にてSelectOneMenuDtoをSessionとすると、
以下のような動作となります。
------------------------------------------------------------
1. SelectOneMenu 画面を開く。
2. 入力画面で、各フィールドに適切な値を設定する。
3. 「submit」ボタンを押して、自画面遷移を行う。
4. AaaとBbbの値をPlease selectに変更する。
5. 「submit」ボタンを押して、必須エラーを発生させる。
→ 上記の際に、必須入力である「Aaa」を除き、各フィールドの値が、
2.で設定した値となってしまいます。
ソースを解析したところ、HtmlSelectOneMenuRendererクラスにて
使用しているValueHolderUtil.getValueAsStringメソッドで、
SubmittedValueがNullの場合はValueHolderのValue値を返却
している為、上記の事象が発生しているようです。
ちなみに、必須エラーとなっているAaaのValueはブランク、
BbbのValueはNullがSubmittedValueの値として設定されていました。
なお、再現方法は以下の通りです。
------------------------------------------------------------
1. S2JSF Example 1.0.25を動かせる状態にする。
2. SelectOneMenuDtoに以下の一行を追加。
public static final String COMPONENT = "instance = session";
3. ビルドして、Tomcatを起動。
4. 上の方に書いた通りの遷移を行なう。
------------------------------------------------------------
ユーザの受入試験がまもなく始まる為、出来れば早期に対応して頂けると
非常に助かります。
以上、よろしくお願い致します。
Seasar-user メーリングリストの案内