[Seasar-user:15938] Re: [Teeda] forEachによる繰り返しをJavascriptで追加・削除した場合
Tonomura-Akira
[E-MAIL ADDRESS DELETED]
2008年 10月 7日 (火) 20:29:28 JST
殿村です。
> form:xxxItems:1:aaa=zzzの値 の間違いでしょうか?
いえ、最初にPageクラスで3件xxxItemsに設定するとHTMLに
form:xxxItems:0:aaa=xxx
form:xxxItems:1:aaa=yyy
form:xxxItems:2:aaa=zzz
というname属性でinputが作成されます。
Javascriptで、2行目を削除して、name属性を整理してsubmitすると
form:xxxItems:0:aaa=xxx
form:xxxItems:1:aaa=zzz
のデータがrequestに送られるのですが、
Pageクラスでは、HTML上で消した3番目の要素も
xxxItemsに入ってきてしまうということです。
つまり、xxxItems={xxx,zzz,zzz}になってしまいます。
> それなら xxxitemsSave を使わないのが無難かも.
> 毎回 List or 配列が新規作成されるので.
使わなければ、javascriptの削除も正常に反映されるのですが、
その場合、validatorでエラーになったときに
xxxItemsがnullになってしまうのですが
もしかして、これは作り方が悪いのでしょうか?
>
>> xxxItemsSaveを使う場合には、上記3番目の値が復活してしまうのは
>> 仕様だということでしょうか?
>
> form:xxxItems:2:aaa=zzz がリストの 3 番目に
> 設定されるのは仕様です.
>
>> また、ItemsSaveを使わず、@pagescopeアノテーションを使用した場合にも
>> 同様の現象になるのですが、そちらの仕様でしょうか?
>
> 保存先が HTML になるか HTTP セッションになるかの
> 違いだけで,扱いとしては同じです.
http://ml.seasar.org/archives/seasar-user/2008-March/013430.html
上記URLを参照させていただいて、似たような理由かと思ったのですが。
ということは、通常はjavascriptによる追加・削除は可能でも、
ItemSaveを使用したり、各種スコープへの保存をした場合は、
追加はできるけど、削除は出来ないということになるのでしょうか?
何度ももうしわけありませんが、よろしくお願いいたします。
--
<<< 殿村 亮 E-Mail [E-MAIL ADDRESS DELETED] >>>
<<< 株式会社EXA 第1事業部 >>>
<<< 鉄鋼システム第2開発部 購買チーム >>>
<<< TEL:03-5419-2794 FAX:03-5419-0016 >>>
Seasar-user メーリングリストの案内