List<Student> students=new ArrayList<Student>();
students.add(new Student("xiaoming",15));
students.add(new Student("xiaomingg",16));
students.add(new Student("xiaominggg",17));
一:用setAttribute方法就可以遍历成功,如下:
request.setAttribute("students", students);
<s:iterator value="#request.students" status="statuss">
${statuss.index }:${name }----${id }
</s:iterator>
二:用<s:set>标签,就不能遍历成功。如下:
<s:set name="students" value="students" scope="request"/>
<s:iterator value="#request.students" status="statuss">
${statuss.index }:${name }----${id }
</s:iterator>
<s:set>标签不就是把值放入域对象中吗,为什么不能遍历成功呢
首先这跟 有关系,scope: 可选,指定新变量被放置的范围,该属性可以接受application、session、request、page或action 5个值。如果没有指定,默认是放置在Stack Context中。
1. 表示将值放到默认的位置中,
则这样取即可:
${statuss.index }:${auditContent }dd----${id }
/s:iterator
2. 表示将值放到request中,
则这样取即可:表示去request中取:
${statuss.index }:${auditContent }dd----${id }
/s:iterator
参考:
http://blog.csdn.net/wwwhongxia/article/details/6825914
为什么没有显示.....
如:<s:set name="student" value=" 'student' ">
<s:set name="students" value="#request.students" scope=""/>
<s:iterator value="students" status="statuss">
${statuss.index }:${auditContent }----${id }<br/>
</s:iterator>
2. 表示将值放到request中,
则这样取即可:表示去request中取: