菜鸟问题,帮帮我。。。

gouxiongyaya 2010-09-21 05:48:50
1<c:forEach items="${userlist}" varStatus="users">
2 <c:if test="${users.index%4==0}">
3 <tr>
4 </c:if>
5 <td>
6 <html:multibox property="users" value="${users.current.id}"/>${users.current.username}
7 </td>
8
9 <c:if test="${users.index%4==3}">
10 </tr>
11 </c:if>
</c:forEach>
我是想action里返回一个userlist然后在前台显示
上面写的能显示结果,不过MyEclipse会报错,说 No start tag(<tr>),报的是第10行的错
而且第3行也会出警告,然后我试了下用<%="<tr>"%>和<%="</tr>"%>jsp就不会报错
不过我不想在jsp页面用这种方法,问一下大家有没有更好的解决办法。。。
...全文
156 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
gouxiongyaya 2010-09-22
  • 打赏
  • 举报
回复
搞定了,非常感谢北冰洋之风和magong
赶紧结贴!
zn85600301 2010-09-22
  • 打赏
  • 举报
回复
你意思 在以后一行的记录 只显示一条?
要么你在Action中组织好 要么你在页面判断出是最后一个tr 自己把这个特殊的写出来
gouxiongyaya 2010-09-22
  • 打赏
  • 举报
回复
13楼的办法可以解决,不过那个还是会在MyEclipse里报错
而且假如我想要的是
9条记录,分3行显示,第3行就显示第一条记录,后边几个td存在,但是里面没有东西
那样又该怎么做啊?
gouxiongyaya 2010-09-22
  • 打赏
  • 举报
回复
执行了一下9楼的方法,有一点点问题
我现在有9条记录,执行的话是3行,但是第3行后边几个都有复选框
我希望的是第3行就只有第一条记录有复选框
zn85600301 2010-09-22
  • 打赏
  • 举报
回复
当然两个条件是或 || 的关系
zn85600301 2010-09-22
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 gouxiongyaya 的回复:]

对,逻辑上是有些问题,我没考虑到,我的失误
有解决的办法吗?
我就是想实现假如userlist里10条记录,在jsp页面显示成3行,一行4个user
第3行显示2个就结束
[/Quote]
你可以在<c:if test="${users.index%4==3}"> 同时判断users.index 是否等于userslist的总数量
magong 2010-09-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zn85600301 的回复:]

哪最后如果<c:if test="${users.index%4==3}"> 不成立就不要后面的tr了
你不觉得逻辑有问题吗
[/Quote]
嗯哪
gouxiongyaya 2010-09-22
  • 打赏
  • 举报
回复
对,逻辑上是有些问题,我没考虑到,我的失误
有解决的办法吗?
我就是想实现假如userlist里10条记录,在jsp页面显示成3行,一行4个user
第3行显示2个就结束
magong 2010-09-22
  • 打赏
  • 举报
回复
你要么像2楼说的那样,不管它编辑器报错。
要么你用动态文本生成,像你自己说的那样。
要么可以这样

<c:forEach begin="0" end="${fn:length(userlist)%4+1}" var="row">
<tr>
<c:forEach begin="0" end="3" var="col">
<td><html:multibox property="users" value="${userlist[4*row+col].id}" />${userlist[4*row+col].username}
</td>
</c:forEach>
</tr>
</c:forEach>
zn85600301 2010-09-22
  • 打赏
  • 举报
回复
哪最后如果<c:if test="${users.index%4==3}"> 不成立就不要后面的tr了
你不觉得逻辑有问题吗
gouxiongyaya 2010-09-22
  • 打赏
  • 举报
回复
对啊,那样就能一行输出4条记录的,有问题吗?
zn85600301 2010-09-22
  • 打赏
  • 举报
回复
2 <c:if test="${users.index%4==0}">
3 <tr>
4 </c:if>

9 <c:if test="${users.index%4==3}">
10 </tr>

users.index%4 你觉得他能 ==0 然后又==3 你的tr能闭合?
gouxiongyaya 2010-09-22
  • 打赏
  • 举报
回复
tr放在外边逻辑不对,我是要对userlist进行判断
如果到了4条记录就换行
还有没有没的判断或者做法?
jiang521725 2010-09-21
  • 打赏
  • 举报
回复
第3行和第4行换个位置就行了
dr_lou 2010-09-21
  • 打赏
  • 举报
回复
<tr>放外面吧,因为你控制的是td
zn85600301 2010-09-21
  • 打赏
  • 举报
回复
<tr></tr> 放到c:if外面
jun526 2010-09-21
  • 打赏
  • 举报
回复
你的逻辑没有错的,提示错误,不用理它

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧