`
lzj0470
  • 浏览: 1247033 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

logic:iterate 用法

阅读更多
举例说明:
<logic:iterate id="hotelOrderDetail" collection="${order.hotelOrderDetails}" indexId="index" length="1">
<bean:write name="hotelOrderDetail" property="orderTime" format="yyyy-MM-dd HH:mm" />
</logic:iterate>


collection表示集合。如:List。
name表示request.setXX中的集合。
举例说明一下错误的写法:
Action中:
request.setAttribute("orders",order.getXXXList());
页面中:
错误写法一:
name="order.hotelOrderDetails"

错误原因:
Cannot find bean: "order.hotelOrderDetails" in any scope


错误写法二:
name="${order.hotelOrderDetails}"

错误原因:
javax.servlet.jsp.JspException: Cannot find bean: "[com.iteye.entity.HotelOrderDetail@8c167495, com.iteye.unicom.entity.HotelOrderDetail@fcd70622]" in any scope


正确的写法:
name="orders"

必须跟setAttribute中的key对应起来。

length表示循环次数。

与logic:equal结合使用
<logic:iterate id="hotelOrderDetail" collection="${order.hotelOrderDetails}" indexId="index">
<logic:equal name="index" value="0">
<html:button property="" value="增加预定房间" styleId="addRoom"/>
</logic:equal>
</logic:iterate>

上面logic:equal表示,index等于0才显示html:button。index是logic:iterate的索引号
不要把name的值写成${index},这个是错误的。
struts标签中name属性是对应request.setAttribute(key,value)的key。
     
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics