日期:2014-05-17  浏览次数:20597 次

struts2迭代标签
我在action中取到一个
List<Model> list=new ArrayList<Model>();
Model 里有一个Name字段
并保存在session范围。到页面<s:iterator></s:iterator>怎么使用,输出list里的数据。

------解决方案--------------------
<code>
 <!-- 通过从Action取值 需要加上# 如果通过Action属性获取则不要加#-->
<s:iterator value="#list" var="model">
<tr>
<td>&nbsp;${model.id}
<!-- 只要是字符串发方法都可以直接使用 -->
<!-- 中间变量可以通过#变量名来引用 如#book -->
<!-- OGNL在当前对象在每点的表达式值存放在this中可以通过#this来引用
如: list.size().(#this>100?2*#this:20+#this)
-->
<!--如果需要访问的属性属于根对象,则可以直接访问该属性-->
<s:property value="model.属性"/>

</s:iterator>
</code>

Name字段
并保存在session范围 用el表达式取 ${sessionScope.name}
------解决方案--------------------
List<BookModel> list=new ArrayList<BookModel>();
你这个是局部变量 需要变成全局变量、
------解决方案--------------------
探讨

引用:

<code>
<!-- 通过从Action取值 需要加上# 如果通过Action属性获取则不要加#-->
<s:iterator value="#list" var="model">
<tr>
<td>&amp;amp;nbsp;${model.id}
<!-- 只要是字符串发方法都可以直接使用 -->
<!-- 中间变量可以通过#变量名来引……
……

------解决方案--------------------
4楼正解
------解决方案--------------------

循环
<s:iterator value="#session.list" var="i">

session表示范围 ,也可以用attr表示任意匹配

取值
${i.name}