[Seasar-user:17576] Re: SAStruts でNestedのiterateタグの使用
Nishiwaki Kiyoyuki
[E-MAIL ADDRESS DELETED]
2009年 6月 1日 (月) 18:02:31 JST
ひがさま
西腋です。
再度確認しましたところ
FormにDTO配列を持っている場合は、SP6のコードを適用することで正常に表示されま
した。
申し訳ありません。
先ほどの例外ですが、SP6のコードで例外が発生する条件が別途あり、
以下のようなForm、DTO、JSPになっている場合です。
先ほどの例外も、この条件下で発生していました。
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 メーリングリストの案内