怎么在前台循环显示后台list中的结果 我在后台的Action中用request保存了一个list对象,现在想在跳转的页面中循环显示出来,要求每行显示list中的3条记录,如:list中有9条记录,那么在前台就要显示3行,每行3条。请问有什么办法没,系统用到了struts1.2 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用标签啊 <logic:iterate id="list" name="list"><% 判断List.size()能整除3就换行%> <bean:write name="name"/> </logic:iterate> 前台用Logic标签迭代出来注意在循环中控制下逻辑 用struts的标签,或者在jsp中用java脚本也行,不过不推荐。 你可以使用JSTL标签库来循环便利,但是需要注意的是为了满足你的每行三条记录的要求,就需要设置两个属性参数。一个是开始数;另一个是步长。应该说很轻松的就可以实现你的需求。但是你还是应该去理解它的运行机制,以便更高程度的提升 !很乐意能够帮助你 ! JSTL 可以实现啊 <c:forEach>用<c:choose> <c:when> <c:otherwise> 来判断每行显示list中的3条记录 如果list保存的是POJO对象的话,按一楼的那样 <logic:iterate id="这个名字可以随便取(list吧)" name="直接写request保存的key"> <bean:write name="与迭代标签的id相同(list)" property="POJO的属性名1" /> <bean:write name="与迭代标签的id相同(list)" property="POJO的属性名2" /> <bean:write name="与迭代标签的id相同(list)" property="POJO的属性名3" /> </logic:iterate> 如果list保存的不是POJO对象 <logic:iterate id="这个名字可以随便取(list)" name="直接写request保存的key" offset="0" length="3"> <bean:write name="与迭代标签的id相同(list)" /> </logic:iterate> 这样试试 用table的话,换行可以没输出三条记录生成一个</tr><tr>,前面用来结束上一个tr,下面用来开始下面一个,到达最后一次显示是,只输出</tr>,也可以不处理,浏览器的容错性还是不错的 Struts里有自带的换行 如果你觉得不行的话用IF语句判断下也可以 不过貌似跟分页没啥关系吧? 我给你查下STRUTSITERATOR的标签 里面有那个属性 解决了,是用struts的循环标签,然后加个逻辑判断完成的! <c:forEach var="item" items="${list}" varStatus="status"> <c:if ${(status.index)%3==0}> <tr> </c:if> <td><c:out value="${}"/></td> <c:if ${(status.index+1)%3==0}> </tr> </c:if></c:forEach>意思大概是这个意思,我没测试可能不对。你自己测试一下吧 错误:java.lang.NullPointerException,求指教! jsp 报空错误 请教java接口问题 请大家来分析一段代码! 如何用TOMCAT同时部署两个JSP系统? STRUTS+MYECLIPSE 页面数据怎么写入DB2数据库 标题:谁要JSP实现的网上书店系统 js跳转到另外一个jsp中,值的传递 字符串格式问题,在线等待,解决即给分 介绍一个JAVA网址,www.chinajavaworld.com ognl能取到<c:foreach>中迭代出来的值吗 用jxl导入到Excel中,怎样给文字添加 删除线
<logic:iterate id="list" name="list">
<% 判断List.size()能整除3就换行%>
<bean:write name="name"/>
</logic:iterate>
注意在循环中控制下逻辑
你可以使用JSTL标签库来循环便利,但是需要注意的是为了满足你的每行三条记录的要求,就需要设置两个属性参数。
一个是开始数;另一个是步长。
应该说很轻松的就可以实现你的需求。但是你还是应该去理解它的运行机制,以便更高程度的提升 !很乐意能够帮助你 !
<bean:write name="与迭代标签的id相同(list)" property="POJO的属性名1" />
<bean:write name="与迭代标签的id相同(list)" property="POJO的属性名2" />
<bean:write name="与迭代标签的id相同(list)" property="POJO的属性名3" /> </logic:iterate>
如果list保存的不是POJO对象
<logic:iterate id="这个名字可以随便取(list)" name="直接写request保存的key" offset="0" length="3">
<bean:write name="与迭代标签的id相同(list)" />
</logic:iterate>
这样试试
ITERATOR的标签 里面有那个属性
<c:if ${(status.index)%3==0}>
<tr>
</c:if>
<td><c:out value="${}"/></td>
<c:if ${(status.index+1)%3==0}>
</tr>
</c:if>
</c:forEach>意思大概是这个意思,我没测试可能不对。你自己测试一下吧