JSTL中关于foreach取序号的问题

时间:2022-09-07 12:37:05
下面是我的程序中的代码:
从一个action中取出一个list集合,然后在jsp中用标签循环出来。在循环时我想在列表中增加一个自增长的序号列,请问如何实现?
<table>
<tr><td>序号</td><td>标题</td><td>内容</td><td>创建时间</td></tr>
<c:forEach items="${bloglist}" var="b">
<tr>
<td> ${此处为要增加的序列号}</td>
<td><html:link page="/ontent.do?id=${b.id}">${b.title }</html:link> </td>
<td>${b.content }</td>
<td>${fn:substring(b.createdTime,0,10) }</td></tr>
</c:forEach>
<tr><td>
<html:link page="/b.do?p=1">首页</html:link>
<html:link  page="/b.do?p=${page.currentPage-1}">上一页</html:link>
<html:link  page="/b.do?p=${page.currentPage+1}">下一页</html:link>
<html:link  page="/b.do?p=${page.countPage}">尾页</html:link>

</td></tr>
</c:if>
</table>

13 个解决方案

#1



    <c:forEach items="${bloglist}" var="b" varStatus="stauts"> 
<tr> 
<td>${stauts+1} </td> 
<td> <html:link page="/ontent.do?id=${b.id}">${b.title } </html:link> </td> 
<td>${b.content } </td> 
<td>${fn:substring(b.createdTime,0,10) } </td> </tr> 
</c:forEach


${stauts+1}加1是因为它是从0开始的

#2


 
去掉这两个

#3


学习下

#4


<c:forEach items="${bloglist}" var="b"  varStatus="stauts"> 
<tr> 
<td> ${stauts+1} </td> 
<td> <html:link page="/ontent.do?id=${b.id}">${b.title } </html:link> </td> 
<td>${b.content } </td> 
<td>${fn:substring(b.createdTime,0,10) } </td> </tr> 
</c:forEach

#5


很好,楼主的写法很正确!!我刚学的jstl!1顶

#6


我用一楼和四楼的说法做了 可是报错了

java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key el.convert

#7


已解决,真正的做法是 ${stauts.index+1}   谢谢 一楼和四楼的提醒。

#8


他们写错了
呵呵


<c:forEach items="${bloglist}" var="b"[color=#FF0000] varStatus="stauts">


用  ${stauts.count}   //用stauts.count是从1开始
用  ${stauts.index}   //用stauts.index是从0开始,你自己选吧,这里你应该选择stauts.count从1开始
   

#9


他们写错了
呵呵


<c:forEach items="${bloglist}" var="b"[color=#FF0000] varStatus="stauts">


用  ${stauts.count}   //用stauts.count是从1开始
用  ${stauts.index}   //用stauts.index是从0开始,你自己选吧,这里你应该选择stauts.count从1开始
   

#10


其实我原来的解决办法比较笨

是这样做的


现增加一个变量
<%  int js=0; %>
<c:forEach items=".....省略
<%
  js+=1;
  request.setAttribute("js",js);
%>
序号:${js}
</c:forEach>
这样的做法,没有全用标签爽,呵呵。。。。。。还是得抓紧时间学习啊!真是还有很多知识要学习啊!

#11


恩!是啊!多看API,自己也可以写标签的!

#12


引用 7 楼 aku88168 的回复:
已解决,真正的做法是 ${stauts.index+1}  谢谢 一楼和四楼的提醒。

写法正确..
   但还有一种方法是:
    你在你的数据库中增加一个自增列(增,删,改很方便的)然后输出来也可以的....

#13


引用 10 楼 aku88168 的回复:
其实我原来的解决办法比较笨

是这样做的


现增加一个变量
<%  int js=0; %>
<c:forEach items=".....省略
<%
  js+=1;
  request.setAttribute("js",js);
%>
序号:${js}
</c:forEach>
这样的做法,没有全用标签爽,呵呵。。。。。。还是得抓紧时间学习啊!真是还有很多知识要学习啊!


在jsp中请不要出现<% %>这是我们老师一直强调的

#1



    <c:forEach items="${bloglist}" var="b" varStatus="stauts"> 
<tr> 
<td>${stauts+1} </td> 
<td> <html:link page="/ontent.do?id=${b.id}">${b.title } </html:link> </td> 
<td>${b.content } </td> 
<td>${fn:substring(b.createdTime,0,10) } </td> </tr> 
</c:forEach


${stauts+1}加1是因为它是从0开始的

#2


 
去掉这两个

#3


学习下

#4


<c:forEach items="${bloglist}" var="b"  varStatus="stauts"> 
<tr> 
<td> ${stauts+1} </td> 
<td> <html:link page="/ontent.do?id=${b.id}">${b.title } </html:link> </td> 
<td>${b.content } </td> 
<td>${fn:substring(b.createdTime,0,10) } </td> </tr> 
</c:forEach

#5


很好,楼主的写法很正确!!我刚学的jstl!1顶

#6


我用一楼和四楼的说法做了 可是报错了

java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key el.convert

#7


已解决,真正的做法是 ${stauts.index+1}   谢谢 一楼和四楼的提醒。

#8


他们写错了
呵呵


<c:forEach items="${bloglist}" var="b"[color=#FF0000] varStatus="stauts">


用  ${stauts.count}   //用stauts.count是从1开始
用  ${stauts.index}   //用stauts.index是从0开始,你自己选吧,这里你应该选择stauts.count从1开始
   

#9


他们写错了
呵呵


<c:forEach items="${bloglist}" var="b"[color=#FF0000] varStatus="stauts">


用  ${stauts.count}   //用stauts.count是从1开始
用  ${stauts.index}   //用stauts.index是从0开始,你自己选吧,这里你应该选择stauts.count从1开始
   

#10


其实我原来的解决办法比较笨

是这样做的


现增加一个变量
<%  int js=0; %>
<c:forEach items=".....省略
<%
  js+=1;
  request.setAttribute("js",js);
%>
序号:${js}
</c:forEach>
这样的做法,没有全用标签爽,呵呵。。。。。。还是得抓紧时间学习啊!真是还有很多知识要学习啊!

#11


恩!是啊!多看API,自己也可以写标签的!

#12


引用 7 楼 aku88168 的回复:
已解决,真正的做法是 ${stauts.index+1}  谢谢 一楼和四楼的提醒。

写法正确..
   但还有一种方法是:
    你在你的数据库中增加一个自增列(增,删,改很方便的)然后输出来也可以的....

#13


引用 10 楼 aku88168 的回复:
其实我原来的解决办法比较笨

是这样做的


现增加一个变量
<%  int js=0; %>
<c:forEach items=".....省略
<%
  js+=1;
  request.setAttribute("js",js);
%>
序号:${js}
</c:forEach>
这样的做法,没有全用标签爽,呵呵。。。。。。还是得抓紧时间学习啊!真是还有很多知识要学习啊!


在jsp中请不要出现<% %>这是我们老师一直强调的