[Seasar-user:15932] Re: [Teeda] forEachによる繰り返しをJavascriptで追加・削除した場合
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 10月 7日 (火) 19:00:14 JST
小林 (koichik) です.
Date: Tue, 07 Oct 2008 18:13:24 +0900
From: Tonomura-Akira <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:15927] [Teeda] forEachによる繰り返しをJavascriptで追加・削除した場合
> しかし、削除した場合に対応するpageクラスのxxxItemsプロパティに
> @pagescopeアノテーション、もしくはxxxItemsSaveが指定されていると
> submit後のpageクラスで削除されたはずの項目が復活してしまっています。
例えば最初に 3 件あった場合に,中間の 1 件を
削除して,リクエストパラメータが
from:xxxItems:0:aaa=xxx
from:xxxItems:2:aaa=zzz
のようにしたということであれば,xxxItems の
サイズは 3 のままであり,2 番目の要素
(index が 1) の内容は xxxItemsSave 等で
保存された状態,つまりサブミット前の状態と
なります.
削除するなら index を付け直して
リクエストパラメータが
from:xxxItems:0:aaa=xxx
from:xxxItems:1:aaa=zzz
となるようにする必要があります.
これなら件数は 2 件になります.
その場合,xxxItemsSave 等で保存された
配列または List と並びが合わなくなるので,
事実上 xxxItemsSave 等を使う意味はなくなります.
xxxItems の要素 (Dto) に入力値以外のプロパティが
ある場合は,それらを <input type="hidden"> で画面に
保持する必要があります.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内