${test}
<c:forEach items=" ${test}" var="sharedType">
${sharedType}<br/>
<c:if test="${sharedType == 2}" >
<span class="tweet-button"></span>
</c:if>
<c:if test="${sharedType == 1}" >
TEST
<a href="#" class="fbshare-button">Share</a>
</c:if>
</c:forEach>
整数列表是1,2,3。 在我的页面上,它为$ {test}显示[1,2,3],在3次迭代中显示$ {sharedType}的“1”“2”“3”。看起来JSTL认为它是一个用逗号分隔的字符串而不是列表。 在java中生成列表的代码是:
List<Integer> test= new ArrayList<Integer>();
test.add(1);
test.add(2);
test.add(3);
我一直在努力解决这个问题,任何人都可以帮助我吗?谢谢。
答案 0 :(得分:3)
只需在我的应用中查看它,然后将其作为答案:尝试从items=" ${test}"
中删除空格。否则,您正在执行此java表达式" " + testList
的等效项。显然,结果不是列表。
和“[1”“2”“3”代表$ {sharedType}
很可能只有一次迭代,你看到test.toString()
调用的结果。