[Seasar-user:13431] Re: [teeda] 可変長データ(*Items)をSubapplicationScope に登録すると動的な行追加ができなくなってしまう件。
Yohji Nihonyanagi
[E-MAIL ADDRESS DELETED]
2008年 3月 27日 (木) 03:02:47 JST
yohjizzz です。
すみません。動作環境が漏れておりました。
S2Container 2.4.23
Teeda 1.0.13-rc5
Java 1.5.0_12
大変失礼致しました。
> yohjizzz と申します。
>
> 表題の通りなのですが、
> Pageクラスにて可変長データ(public List<HogeDto> hogeItems)を保持、
> HTMLにて(JavaScriptにより)動的に行(テキストボックスやプルダウンを含む)を追加、
> 可変長データとしてフォーム送信を行う。
>
> 上記のケースは「通常」期待する動作が確認できます。
> #たとえばレンダリング時は3行、
> #JavaScriptで2行追加(id属性やname属性はTeeda仕様に従い追加します)すればフォームが送信されると
> #Pageクラスには5行のDTOがバインドされます。
>
> しかし「hogeItems」に対して SubapplicationScopeを指定すると、
> レンダリング時の行数に対して、JavaScriptで行を追加してもフォームを受信したPageクラスにおいて、
> doXxx実行時、hogeItemsは3行のみしかバインドされておりません。
> 4〜5行目のパラメータが送信されていることは確認済みです。
>
> またとりあえずの回避方法として、
> 入力(行を追加する)画面にて hogeItems はデフォルトスコープとして、
> 確認画面(入力画面後に遷移する画面)のPageクラスにて、
> SubapplicationScopeに指定する、という安易な方法を試したのですが、
>
> 1.入力画面
> 2.確認画面(SubapplicationScopeへセット)
> 3.入力画面へ戻る
> 4.再度行追加を行い、フォーム送信
>
> 上記の手順を実施すると、
> 上述と同じ状態(動的に追加した行のみバインドされない)となります。
> (確認画面でSubapplicationScopeの指定を外せば回避できます。)
>
> 仕様上、今回のケースではSubapplicationScopeへの登録を行いたいのですが、
> SubapplicationScopeに登録してしまった可変長データ(*Items)は、
> JavaScriptなどによるクライアントでの動的な行追加(削除も?)は不可能なものなのでしょうか?
>
>
>
> --
> http://d.hatena.ne.jp/yohjizzz/
> mailto:yohjizzz_at_gmail.com
>
--
mailto:[E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内