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(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント