我有一些代码!代码如下所示:
<c:forEach var="element" items="%{serviceList.getServices()}">
<p>Hello!</p>
</c:forEach>
“serviceList”是一个bean,其上有一个名为getServices()的方法。 getServices()返回一个ArrayList,所以我自然地假设上面的代码将采用arraylist,并迭代它将列表的每个元素放入变量'element'。
不是这样!当我查看页面时,Hello打印一次(getServices()的大小为2,我可以通过在页面上打印出来直接显示。
标签本身有效:
<c:forEach begin="1" end="10">Hello, World!<br></c:forEach>
打印出您的期望。所以它必须与我传入的物品有关。有什么帮助吗?
哦,这是使用JSTL 1.1.2,Struts 2.1.6和最新版本的Java。
答案 0 :(得分:4)
你有一个拼写错误,你应该这样使用${variable name}
:
<c:forEach var="element" items="${serviceList.services}">
<p>Hello!</p>
</c:forEach>
然后行为就像你期望的那样。
答案 1 :(得分:0)
${serviceList.services}
您的表达式语言语法不正确。有关详细信息,请参阅JSP 2.1 spec的EL部分。