[Seasar-user:17577] Re: SAStruts でNestedのiterateタグの使用
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2009年 6月 1日 (月) 18:25:29 JST
ひがです。
>
> 西腋です。
>
> 再度確認しましたところ
> FormにDTO配列を持っている場合は、SP6のコードを適用することで正常に表示されま
> した。
> 申し訳ありません。
>
> 先ほどの例外ですが、SP6のコードで例外が発生する条件が別途あり、
> 以下のようなForm、DTO、JSPになっている場合です。
> 先ほどの例外も、この条件下で発生していました。
>
下記のケースでは、SAStrutsのWrapperでは対応できません。
TestDto41がDynaBeanをimplementsするようにすれば大丈夫だと思います。
>
> FormがDTO1の配列を持っており、DTO1もDTO2の配列を持っているような
> 配列の中に配列がある場合です。
>
> public class Sample4Form {
> private String selectedId;
> private List testDto41Array = new ArrayList();
>
> public TestDto41[] getTestDto41Array() {
> return (TestDto41[]) testDto41Array.toArray(new
> TestDto41[testDto41Array.size()]);
> }
>
> public void setTestDto41Array(TestDto41[] values) {
> this.testDto41Array = Arrays.asList(values);
> }
> }
>
> public class TestDto41 implements Serializable{
> private List testDto42Array = new ArrayList();
>
> public TestDto42[] getTestDto42Array() {
> return (TestDto42[])testDto42Array.toArray(new
> TestDto42[testDto42Array.size()]);
> }
>
> public void setTestDto42Array(TestDto42[] values) {
> this.testDto42Array = Arrays.asList(values);
> }
> }
>
> public class TestDto42 implements Serializable{
> private String text1;
>
> public String getText1() {
> return this.text1;
> }
>
> public void setText1(String text) {
> this.text1 = text;
> }
> }
>
>
> JSPは以下のようにiterateタグの中に再度iterateタグが存在しています。
>
> <n:iterate id="iterate1" property="testDto41Array">
> <tr>
> <td>
> <n:link action="/sample/sample4?SAStruts.method=execute1"
> paramId="selectedId" paramProperty="id">
> <n:hidden property="id" write="true"></n:hidden>
> </n:link>
> </td>
> <td>
> <table border="1">
> <n:iterate id="iterate2" property="testDto42Array">
> <tr>
> <td>
> <n:link action="/sample/sample4?SAStruts.method=execute1"
> paramId="selectedId" paramProperty="write">
> <n:hidden property="write" write="true"></n:hidden>
> </n:link>
> </td>
> <td><n:text property="text1" styleId="table2Text1"></n:text>
> </td>
> </tr>
> </n:iterate>
> </table>
> </td>
> </tr>
> </n:iterate>
>
>
>
> /************************************************************/
> (株)オージス総研
> 技術部 エンタープライズ・オープンソース・センター
> 西腋 清行
> mailto:[E-MAIL ADDRESS DELETED]
> Phone:03-5730-3221 / Ext:9-47-646
> /************************************************************/
>
> > -----Original Message-----
> > From: [E-MAIL ADDRESS DELETED]
> > [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Yasuo Higa
> > Sent: Monday, June 01, 2009 4:46 PM
> > To: [E-MAIL ADDRESS DELETED]
> > Subject: [Seasar-user:17573] Re: SAStruts でNestedのiterateタグの使用
> >
> > ひがです。
> > > >
> > > > 西腋です
> > > >
> > > BeanWrapperが動いているようなので、古いjarが残っている気がします。
> >
> > 状況がつかめました。
> > リクエストの属性に設定されたActionFormを直接参照しているということですね。
> > ActionFormのプロパティは、リクエストの属性にセットされているので、
> > 直接ActionFormを見る必要はないと思うのですが、
> > JSPでは、どのように記述しているのでしょうか。
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内