2010-09-10 2 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. Для каждого учащегося есть список предметов. Теперь я должен сохранить отметки. Как я могу получить эти значения в своих действиях? Я использую Struts2. Thanx заранее.данные доступа strested2 вложенного итератора в действии

+0

Где находится знак feild. как вы хотите в классе действий? Как хеш-ключ карты как субъект, тогда значение, как отредактированные/добавленные отметки? .. четко. – Jothi

ответ

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 
} 

Теперь вы можете просто иметь поле lstBean с сеттерами в вашем подающем действии (saveaction), и эй вы закончили.

Смежные вопросы