private Integer[] routeId; private String[] routeName;
我已经声明了这个数组和getter setter。现在我想在迭代器中设置它的值,如:
Iterator<Object> iter=tManager.getApprovedTourPlan(staffId,9).iterator();
tourList=new ArrayList<TourPlan>();
int i=0; while(iter.hasNext()) {
Object[] tour = (Object[]) iter.next();
TourPlan tp=new TourPlan();
tp.setRouteId(0);
tp.setRouteName("asd");
tourList.add(tp);
}
在jsp上我将使用:
<s:iterator list="tourList" var="tour"> <s:property
name="#tour.routeId"> <s:property name="#tour.routeName">
</s:iterator>
但是当我设定值时:
tp.setRouteId(0);
tp.setRouteName("asd");
我无法设置值,因为它们接受数组。请告诉我如何处理。
答案 0 :(得分:1)
从我得到的所有你需要的是嵌套迭代器,它们看起来像这样
<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>
和
class XBean
{
private ArrayList<String> lstString=new ArrayList<String>();
private String name;
private Double amt;
private Integer id;
}
实施例
http://www.onlinexamples.com/showfullexample.action?idexamples=10&title=Nested%20Iterators%20Example