jsp页面怎么判断foreach循环了几次,或者说怎么判断list循环到下标几?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp页面怎么判断foreach循环了几次,或者说怎么判断list循环到下标几?相关的知识,希望对你有一定的参考价值。

代码:<c:forEach items="listTest" var="test" varStatus="index"></c:forEach>

在页面上输出index的值,最后一个就是循环的次数了。

如果要知道当前的值是第几次循环的结果,那么可以在页面上加一列序号,把index显示出来。

jsp页面判断循环了几次还可以用变量记录,比如用index这个参数来做累计。

1、<c:forEach>标签的语法定义如下所示:

<c:forEach var="name" items="expression" varStatus="name" 

begin="expression" end="expression" step="expression"> 

body content 

</c:forEach> 

2、<c:forEach>标签具有以下一些属性: 

var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。 

items:要进行迭代的集合。对于它所支持的类型将在下面进行讲解。 

varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。 

begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。 

end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。 

step:迭代的步长。 

index:当前这次迭代从0开始的迭代索引。

参考技术A

jsp页面判断循环了几次只能用变量记录,比如用index这个参数来做累计。

<c:forEach>标签的语法定义如下所示。

<c:forEach var="name" items="expression" varStatus="name"

begin="expression" end="expression" step="expression">

body content

</c:forEach>

<c:forEach>标签具有以下一些属性:

var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。

items:要进行迭代的集合。对于它所支持的类型将在下面进行讲解。

varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。

begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。

end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。

step:迭代的步长。

index:当前这次迭代从0开始的迭代索引。

List<String> list=new ArrayList<String>();

list.add("aaa");

list.add("bbb");

list.add("ccc");

int count=0;

for(String str:list)

count++;

System.out.print(str);

System.out.print("这是第"+count+"次循环!");

关于jsp页面加载时报错500的问题

先说一下,问题的发生,个人做了个小系统,成品以后运行了几次,没有问题,结果最后一次测试时,发现登陆页面报错了:

     账号密码输入正确,经过后台登陆后,按理说是应该进入登陆成功后的jsp页面,然而结果却是:

    技术分享图片技术分享图片

 

关于

 java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 

报错,多是因为list的取值出问题,测试后发现我的登录后页面有段代码是这样的:

技术分享图片

将<s:iterator>标签注释掉或者将里面的  begin  end 属性删掉,页面就能跳转成功!!!

      在这里附上Strust2里的迭代标签  s:iterator  的使用方法

              

          迭代标签:用于遍历集合(java.util.Collection)或者枚举值(java.util.Iterator)类型的对象,value属性表示集合或枚举对象,status属性表示当前循环的对象,在循环体内部可以引用该           对象的属性

       <s:iterator value="userList" status="user">

         姓名:<s:property value="#user.userName" />

        年龄:<s:property value="#user.age" />

      </s:iterator>

               其中begin 和end 是用来控制数组中要迭代的个数,起始下标和结束下标。

      而我的报错,是因为要迭代的数据的值不足 0~3了,也就是整个要迭代的list集合里的数据不够4个,所以报错……

 

以上是关于jsp页面怎么判断foreach循环了几次,或者说怎么判断list循环到下标几?的主要内容,如果未能解决你的问题,请参考以下文章

假如数组接收到一个null,那么应该怎么循环输出。百度结果,都需要提前判断。否则出现空指针异常。。我还是想在数组中实现保存和输出null。

jquery从后台取得list,怎么遍历出来(foreach显示到页面上也就是相当于在jsp页面用foreach显示出来)

关于jsp页面加载时报错500的问题

后端model传入前端JSP页面中的值判断后再取值

c:foreach语句在JSP页面获取不到值,页面只显示EL表达 请高手帮忙解答一下,谢谢。

JS怎么只用一个循环给页面多个元素赋值