logic:iterate
Strutsのiterateタグをネストして使うときのBeanの指定の仕方がわからなくて苦戦しました。
FormBeanの構成が
public class HogeForm extends ActionForm { private String id = null; private List resultList = new ArrayList(); ...Getter Setterは省略 }
となっていて、HogeFormのresultListもBeanで構成されています。
public class ResultBean{ private String lineNo = null; private List keyList = new ArrayList(); ...Getter Setterは省略 }
とこんな感じ。
Listの中にさらにListがあるイメージです。
これを表示させるには、JSPで
<logic:iterate id="list" name="HogeForm" property="resultList"> <bean:write property="id" name="resultList" /> <logic:iterate id="keyList" name="list" property="keyList"> <bean:write property="..." name="keyList" /> </logic:iterate> </logic:iterate>
と書いてやるとうまくいきます。
親iterateのidを子iterateのnameに指定するのがコツです。