Java 如何使用JSTL增加循环变量?

Java 如何使用JSTL增加循环变量?,java,jsp,jstl,Java,Jsp,Jstl,我想对jstl进行如下处理: int i=0; int j=0; <c:forEach items="${commentNames}" var="comment"> <c:forEach items="${rates}" var="rate"> <c:if test="${i==j}"> int i++ </c:if> </c:forEach>

我想对jstl进行如下处理:

int i=0;
int j=0;

<c:forEach items="${commentNames}" var="comment">     

     <c:forEach items="${rates}" var="rate">

        <c:if test="${i==j}">

          int i++

        </c:if> 

     </c:forEach> 

  int j++;

</c:forEach> 
inti=0;
int j=0;
int i++
intj++;

jstl是否可以这样做?当我尝试这样做时,我发现了一些错误,我想知道是否有一种正确的方法可以直接编写它,但您可以使用
varStatus
将的实例放在
的范围内。它提供了几个getter来计算循环以及它是循环的循环还是循环的迭代

我只是不确定你的
有什么意义,但我认为你实际上有两个相同大小的列表,它们都有注释名和注释率,你只需要在注释的相同索引处显示注释率


${comment}
${rate}
然而,这是笨拙的。你最好直接通过索引来得到这个比率


${comment}
${rates[commentLoop.index]}
更好的方法是创建一个带有
名称
比率
属性的
注释
对象

public class Comment {

    private String name;
    private Integer rate;

    // Add/autogenerate getters/setters.
}
以便您可以按如下方式使用它:


${comment.name}
${comment.rate}
另见:

如果您试图使用i作为实际变量,您可能希望使用c:设置为增量i。虽然可以使用JSTL实现这一点,但我不建议在这里实现。您的JSP应该纯粹用于表示逻辑,而不是业务计算variable@adarshr我理解你告诉我的,我同意你的看法。但在这个特殊的场合,我想使用它,没有其他的方法。所以,如果你知道,请帮助我。这是一个XY故障的情况。虽然OP应该询问X,但出于演示目的,做Y有一些正当的理由,不幸的是,我们没有得到Y,除了@DaveNewton.Man的评论之外,你太棒了。非常感谢你的帮助。你说“我认为你实际上有两个相同大小的列表,它们都有评论名称和评论率,你只需要在与评论相同的索引中显示评论率”。你在我心里!不客气。不过,如果您能在以后的问题中更好地阐述具体的功能需求,我将不胜感激:)我会尽我所能。再次感谢您。@BalusC很棒!!!你知道,如果我看到一个详尽而非常好的答案,我总是认为是你。一直都是你。伟大的