プロが教える店舗&オフィスのセキュリティ対策術

以下の内容でロジックを組んだのですが、
jspより表示される一覧表は、003 name3が3件表示されてしまいます。
一覧表を正しく表示できない原因を教えてください。

SP0010_FORM_Bean.java
public class SP0010_FORM_Bean {
protected String id;
protected String name;

public void setId(String s) {
id = s;
}
public String getId() {
return id;
}
public void setName(String s) {
name = s;
}
public String getName() {
return name;
}
}


SP0010_FORM.java
public class SP0010_FORM extends ValidatorForm{
protected List<SP0010_FORM_Bean> loopList;
public void setLoopList(List<SP0010_FORM_Bean> list) {
loopList = list;
}
public List<SP0010_FORM_Bean> getLoopList() {
return loopList;
}
}


SP0010_ACTION_10.java
SP0010_FORM initBean = new SP0010_FORM();
request.setAttribute("list_form", initBean);

List<SP0010_FORM_Bean> list = new ArrayList<SP0010_FORM_Bean>();
SP0010_FORM_Bean bean1 = new SP0010_FORM_Bean();

bean1.setId("001");
bean1.setName("name1");
list.add(bean1);
bean1.setId("002");
bean1.setName("name2");
list.add(bean1);
bean1.setId("003");
bean1.setName("name3");
list.add(bean1);
initBean.setLoopList(list);

jsp
<table border="1">
<logic:iterate id="loop" name="list_form" property="loopList">
<tr>
<td><bean:write name="loop" property="id" /></td>
<td><bean:write name="loop" property="name" /></td>
</tr>
</logic:iterate>
</table>

A 回答 (1件)

リストに挿入する bean は3個つくらないとダメです。



1個だけ作って使いまわしたら、リストに挿入された bean の参照は全部
同じなのですから、3個とも同じものが表示されるのは当然です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
無事解決しました。

お礼日時:2012/10/07 22:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!