避免在jsp页面多次遍历同一个List对象
要在jsp页面使用<s:iterator>标签来遍历list数组,是非常简单的一件事.如果你在jsp页面加了条件查询,查询的结果也是装着相同对象的list,是否要在jsp页面写两个<s:iterator>循环呢,答案是不用的.
写两个<s:iterator>的做法:
//当页面加载时userList为空,执行<s:action>获取userList<s:if test="null==userList"><s:action name="userListAction" namespace="/" id="u"></s:action><s:iterator value="#u.userList" var="user" status="num"> <tr> <td> ${num.count}//计数的序号 </td> <td> ${user.name}//遍历user对象的name属性 </td> </tr></s:iterator></s:if>//当使用条件查询获取到的userList<s:if test="null!=userList"><s:iterator value="#u.userList" var="user" status="num"> <tr> <td> ${num.count}//计数的序号 </td> <td> ${user.name}//遍历user对象的name属性 </td> </tr></s:iterator></s:if>
写一个<s:iterator>的做法:
这中做法,是把判断userList写到action中,而不是写到jsp里
<s:iterator value="#u.userList" var="user" status="num"> <tr> <td> ${num.count}//计数的序号 </td> <td> ${user.name}//遍历user对象的name属性 </td> </tr></s:iterator>