[Seasar-user:11512] Re: [Teeda] ListなForEachで入力コンポーネントを使ってみました

Applied_MATSUDA Masaaki [E-MAIL ADDRESS DELETED]
2007年 11月 7日 (水) 15:38:21 JST


TigerCatです.

小林さん,いつもご回答いただきありがとうございます.


>> それぞれのリストボックスを適当に選択して,[登録]ボタ
>> ンを押しますと,
>> どうも結果が入っているであろうList<TeamDto> memberItems
>> がnullになってしまうのであります.
>
>itemsSave が無いためだと思われます.

itemsSaveは,次画面で「入力内容の確認画面」を表示するための
ものだと思っていました・・・
今回は習作のため,確認画面ナシでいきなり登録される,いわゆ
るポストバックで必要な情報はフォームで送信するのでitemsSave
って要らないつもりでいたのですが,それは勘違いだったと.

ひとまず,itemsSaveを入れてみました.
期待をこめて[登録](doOnceRegist)すると,進展はあったのです
が,今一歩の結果でした.

doOnceRegist()が呼ばれたとき,itemsSaveのおかげで
prepareMemberItems()を通過していないにもかかわらず選択肢等
の情報が復元され,List<TeamDto> memberItemsのインスタンス
が出来ていました.
(前回はインスタンスが無く,nullだったので進展)
ところが,リストボックスでの選択結果の値が受け取れておらず
String memberStaffCodeはnullになってしまっています.

ログをみますと,
[java.util.List] should be array type or parameterized List, so no update.
が出ちゃっていました.
Teeda 1.0.12-SVNリビジョン3747なのですが,出ちゃいました.
んーむ.
S2Containerは2.4.17の正式版なのですが,コレをSNAPSHOTに
変えなければいけない,とかいうオチなのでしょうか・・・

ひとまず,List<TeamDto> memberItemsをTeamDto[] memberItems
に変更してみたところ,リストボックスの選択結果もとれるよう
になりました.(あたりまえ?そりゃまぁそうですね.)
うーむ,一旦動いてしまうと,甘んじてコレでもいっかとなって
しまいそうですが,やっぱりちょっぴり気になります.

もう一息調べることってありますでしょうか?


ちなみに,Teedaを差し替えた方法を念のため書いておきます.

・TeedaのSVNからtrunk/teeda-tigerとtrunk/teedaをとってくる.
・trunk/teeda で mvn install
・trunk/teeda-tiger で mvn install
・それぞれのtargetフォルダに出来上がったjarをリネーム.
  (teeda-xxx-1.0.12-SNAPSHOT.jar -> teeda-xxx-1.0.12-SNAPSHOT-3747.jar)
・Eclipseのworkspace上のmain/webapp/WEB-INF/libの旧teedaな
  jar四つを削除.同じくsources下の四つも削除.
  (モトモトはDolteng0.22.0が準備してくれたモノ.1.0.11-SP1)
・消したjarの代わりに,trunkをビルドしてできたjar計8個をコピー.
  (teeda-xxx-test.jarを除いた8個)
・Eclipseのworkspace上の.classpathを編集し,teedaのjarと
  sourcesのjar計8個分の記載箇所を1.0.11-SP1から1.0.12-SNAPSHOT-3747
  へ書き換える.
・Eclipseを起動してプロジェクトを開く.クリーン,更新,
  クリーン,リビルド.(汗)エラーなし.




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