[Seasar-user:17578] Re: SAStruts でNestedのiterateタグの使用

Nishiwaki Kiyoyuki [E-MAIL ADDRESS DELETED]
2009年 6月 1日 (月) 19:00:26 JST


ひがさま

西腋です。

> 下記のケースでは、SAStrutsのWrapperでは対応できません。
> TestDto41がDynaBeanをimplementsするようにすれば大丈夫だと思います。

了解しました。
FormがDTO1の配列を持っており、DTO1もDTO2の配列を持っている場合はあまり多く
はないと思いますので
DynaBeanの実装か、JSTLでの実装を検討してみます。

ありがとうございます。

/************************************************************/
  (株)オージス総研
  技術部 エンタープライズ・オープンソース・センター
  西腋 清行
  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 6:25 PM
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:17577] Re: SAStruts でNestedのiterateタグの使用
>
> ひがです。
> >
> > 西腋です。
> >
> > 再度確認しましたところ
> > 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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user



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