2010-09-10 63 views
1
<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。 Thanx提前。struts2嵌套迭代器的動作訪問數據

+0

標記行爲在哪裏。你在行動課上想要如何?作爲哈希映射鍵作爲主題,然後值編輯/添加標記?..提供清楚。 – Jothi 2010-09-23 11:39:27

回答

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> 

以下是豆(XBean),其列表用於在JSP:

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,嘿,你完成了。