Struts2 中jsp页面显示多行多列表格 我用一个action控制jsp的显示,在action中有一个list的属性,jsp从list中取值,我想要在jsp中将这些数据在一个表格中显示出来,一行显示6个,显示多行,而且list的长度是不确定的,应该怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 struts 里 循环标签里嵌套 if标签应该可以的吧 你查下 struts2的 迭代标签 和 if标签 的用法 然后看看有没解决办法自己熟悉下标签不好么? 假定你的list名称是 listUsers ,每个元素都是String 类型(实际啥类型都可以,但要确保输出正确的属性)<table> <s:iterator value="listUsers" status="status"> <s:if test="#status.index %6==0||#status.first"> <tr> <s:if> <td><s:property value="property"/></td> <s:if test="#status.cout%6==0||#status.last"> </tr> </s:if> </s:iterator> </table>% 是取余计算。 好像记得是,大致思路就使这样子 恩,按你这样的思路,我实现了,不过逻辑和你有点不一样,我是这样的<table> <s:iterator value="listUsers" status="status"> <s:if test="#status.index %6==0"> <tr> <s:if> <td><s:property value="property"/></td> <s:if test="#status.index%6==0"> </tr> </s:if> </s:iterator></table>上面红色的两处我修改了,说一下我的分析,你看有没有道理,index本来就是从0看是,所以我们假设遮掩0 1 2 3 4 5 6 7 8 9 10 11当index==0的时候就应该加入<tr>同时也应当加入</tr>,1-5的时候就不用加<tr>也不用加</tr>,只会增加td当index==6的时候这时候起了一新行,所以加了<tr>,后面也加了</tr>,这样继续也就是每次新行的第一个数据开始时加入<tr>同时加入</tr>就行不过我发现,按你的那样也可以正常显示,按我那样的思路也能正常显示,而且在写</tr>的时候编辑器会报没有其实起始<tr>的错误,会有一个大红叉,而且我我发现,不加那个</tr>也能正常显示,不过是可以显示了,但是还是总觉得有点不怎么爽,你有什么高见? <c:forEach循环,google一下能出来一大堆例子 <c:forEach>和<s:iterator>一个样,都是用来迭代了,用谁都没关系,只是显示时逻辑的问题 我上面的代码是这样的,只要有新的一行 加<tr>的同时就加了</tr>,没起新行时,就是<td>循环,这样有问题吗?不过我发现,就行没有添加</tr>的逻辑,也能显示,是不是浏览器自动为我们加?有些时候不正规,可以有起始标签,没有结束标签 db2驱动,在maven中的pom.xml如何增加依赖 菜鸟上路,此题何解? 关于学习java的前景 oracle.sql.BLOB与 java.sql.Blob 区别,请高人指点! 请教一个jdbc问题,实在无法理解 unicode编码的显示 在命令窗口中如何运行java程序 调查,各位在开发EJB中是使用的是本地(Local)接口还是普通的接口? java中如何实现多继承? poi操作excel计算公式不生效 急切求助。。Date转换问题 高分求教百度笔试题答案!
自己熟悉下标签不好么?
<s:iterator value="listUsers" status="status">
<s:if test="#status.index %6==0||#status.first">
<tr>
<s:if>
<td><s:property value="property"/></td>
<s:if test="#status.cout%6==0||#status.last">
</tr>
</s:if>
</s:iterator>
</table>
% 是取余计算。 好像记得是,大致思路就使这样子
<s:iterator value="listUsers" status="status">
<s:if test="#status.index %6==0">
<tr>
<s:if>
<td><s:property value="property"/></td>
<s:if test="#status.index%6==0">
</tr>
</s:if>
</s:iterator>
</table>上面红色的两处我修改了,说一下我的分析,你看有没有道理,index本来就是从0看是,所以我们假设遮掩
0 1 2 3 4 5
6 7 8 9 10 11
当index==0的时候就应该加入<tr>同时也应当加入</tr>,1-5的时候就不用加<tr>也不用加</tr>,只会增加td
当index==6的时候这时候起了一新行,所以加了<tr>,后面也加了</tr>,这样继续
也就是每次新行的第一个数据开始时加入<tr>同时加入</tr>就行不过我发现,按你的那样也可以正常显示,按我那样的思路也能正常显示,而且在写</tr>的时候编辑器会报没有其实起始<tr>的错误,会有一个大红叉,而且我我发现,不加那个</tr>也能正常显示,不过是可以显示了,但是还是总觉得有点不怎么爽,你有什么高见?