如何在jstl中创建(int i = 0,i< = collection.size()+ 1,i ++)的等价物

时间:2014-05-17 10:22:53

标签: java jstl el

我有简单的java代码,用于获取在DB中添加/保存的所有人员的数量,以及用于添加新人的+1:

for(int i=1, i<= collection.size() + 1, i++){
      <option value="<%=i>"/>"><%=i></option>
}

但是使用JSTL我想提出:

<c:forEach items="${persons + 1}" var="person">
<option value="<c:out value="${person.personId}"/>">
    <c:out value="${person.personId}"/>
</option>
</c:forEach>

但是这个${persons + 1}给了我错误。在这种情况下请帮助我。

1 个答案:

答案 0 :(得分:0)

jstl中的ForEach与java中的foreach相同,但只是其他语法:

for(Type : Collection ){
   //functionality
}

其中所有Collection值将一个接一个地存储在由预定义类型Type组成的变量中。

因此,当您尝试执行persons+1时,由于您无法在集合上应用任何数学函数(+, - ,*,/,...),这是正常的。

以这种方式思考:

  • 您可以轻松找到 1 + 1

  • 的结果
  • 您找不到 1 +橙色

  • 的结果