访问struts2嵌套迭代器的数据

时间:2010-09-10 08:00:14

标签: struts2 iterator

<s:iterator var="parent" value="studentList">
   <s:iterator var="child1" value="#parent.subjectList">
       <s:property value="%{subjectName}" />: 
       <s:textfield id="subject" name="%parent.subject.id}" theme="simple" />
   </s:iterator>   
</s:iterator>

我有一个带有上述代码的jsp页面。我有两个列表i)studentList,ii)subjectList。 每个学生都有一个subjectList。现在我必须保存标记。我怎样才能在行动中获得这些价值?我正在使用Struts2。 提前完成。

1 个答案:

答案 0 :(得分:0)

这就是JSP代码的样子:

    <s:form action="saveaction" >
        <s:iterator value="lstBean" id="lstBean" status="outerStat">
            <s:textfield value="%{name}" name="lstBean[%{#outerStat.index}].name"/>
            <s:textfield value="%{amt}" name="lstBean[%{#outerStat.index}].amt"/>
            <s:textfield value="%{id}" name="lstBean[%{#outerStat.index}].id"/>
            <s:iterator value="%{lstString}" status="myStat">
                <s:textfield name="lstBean[%{#outerStat.index}].lstString[%{#myStat.index}]"/>
            </s:iterator>
        </s:iterator>
        <s:submit value="Click me to submit lstBean"/>
    </s:form>

以下是在JSP中使用List的bean(XBean):

public class XBean
{    
private ArrayList<String> lstString=new ArrayList<String>();
private String name;
private Double amt;
private Integer id;
//Getters and setters of fields
}

现在你可以在提交动作(saveaction)中设置一个带有setter的字段lstBean,嘿,你完成了。