我是jsp的新手。我有一个场景,我必须循环一些列表并获取循环索引,将其添加到另一个迭代的变量并获取值并将其设置为元素id,我可以从中执行一些javascript函数。但是当我试图实现它时,我得到以下错误
According to TLD or attribute directive in tag file, attribute varStatus does not accept any expressions
我的代码如下:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!-- Some codes in between -->
<c:forEach var="myItemsList" items="${myItemsList}" varStatus="loop">
<c:forEach var="myItemsList1"
items="${myItemsList1}"
varStatus="loopItr${loop.index}"> <!-- I need the variable like loopItr1 or loopItr2 -->
<div class="myClass${loop.index}" id="myDetailsBlock_${(loopItr+loop.index).count+1}">
<!-- SOME OF MY CODE HERE -->
</div>
</c:forEach>
</c:forEach>
我很确定我缺少一些语法。请帮助我解决这个问题。谢谢。
答案 0 :(得分:0)
要考虑的事情不止一件
varStatus
中指定表达式,它应该是字符串文字。count
此处提及id="myDetailsBlock_${(loopItr+loop.index).count+1}"
不存在。我建议重新考虑你的解决方案。如果你想要计算某些东西,你可以使用<c:set
创建自己的变量并按你喜欢的方式增加。