JSTL计算ForEach循环

 mobiledu2502878565 发布于 2023-01-29 07:39

我正在尝试为项目列表中的每4项打印一些消息


    
        
    
    

但我得到以下异常,似乎i不被视为数字

java.lang.IllegalArgumentException: Cannot convert javax.servlet.jsp.jstl.core.LoopTagSupport$1Status@3371b822 of type class javax.servlet.jsp.jstl.core.LoopTagSupport$1Status to Number
    at org.apache.el.lang.ELArithmetic.coerce(ELArithmetic.java:407)
    at org.apache.el.lang.ELArithmetic.mod(ELArithmetic.java:291)
    at org.apache.el.parser.AstMod.getValue(AstMod.java:41)
    at org.apache.el.parser.AstEqual.getValue(AstEqual.java:38)

我该如何实现这一目标?

一种方法是在scriplets的帮助下为每个循环声明一个变量和增量.但我想避免这个!

1 个回答
  • 变量i属于类型LoopTagStatus.要获得int,你可以使用getCount()getIndex().

    如果要打印第一个项目的消息,请使用:

    <!-- `${i.index}` starts counting at 0 -->
    <c:if test="${i.index % 4 == 0}">  
        <c:out value="Test" />
    </c:if>
    

    否则使用:

    <!-- `${i.count}` starts counting at 1 -->
    <c:if test="${i.count % 4 == 0}">
        <c:out value="Test" />
    </c:if>
    

    2023-01-29 07:57 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有