Struts2 カスタムタグiteratorの使い方
カスタムタグのiteratorの使い方です。
<s:iterator value="Actionクラスのフィールド" var="1つの要素名" status="IteratorStatusの変数名">
jsp
<s:iterator value="hogeBeans" var="item" status="key">
<tr>
<td>
<s:property value="firstName"/>
</td>
</tr>
</s:iterator>
Java(Bean)
public class HogeBean {
private String firstName;
//~
// getter/setter
}
Java(Actionクラス)
private List<HogeBean> hogeBeans;
// ~
// getter/setter用意
public List<HogeBean> getHogeBeans() {
return this.hogeBeans;
}
public void setHogeBeans(List<HogeBean> hogeBeans) {
this.hogeBeans = hogeBeans;
}
getter/setter名が間違っていると正しく表示されないので要注意です。
iteratorを使わない場合は、そのままJavaコードを書くことも可能です。
<s:property value="%{hogeBeans.get(0).getFirstName()}"/>
Beanのリスト
Beanのリストをjsp側でiterateします。
Java(Bean)
public class HogeBean {
private List<String> messages = new ArrayList<>();
//~
// getter/setter
}
Java(Actionクラス)
private HogeBean hogeBean;
// ~
// getter/setter用意
public HogeBean getHogeBeans() {
return this.hogeBean;
}
public void setHogeBeans(HogeBean hogeBean) {
this.hogeBean = hogeBean;
}
jsp
<table><tr><td>
<s:iterator value="hogeBean.messages">
<s:property /><br>
</s:iterator>
</td></tr></table>
これでmessagesにaddされたメッセージを改行(<br>)ごとに表示することができます。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^


コメント