我正在尝试使用 c foreach与jsf 2.0中的hashmap或表,但它不起作用所以我写了一个这样的简单代码仍然这个不工作....请帮助在哪里我想念...
<body>
<f:view>
<c:forEach var="i" begin="1" end="20" step="1" varStatus ="status">
<c:out value="#{i}" />
</c:forEach>
</f:view>
和输出为此我得到这样..
#{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i} #{i}
答案 0 :(得分:6)
当你因为某种原因使用古老的和EOL的JSTL 1.0时,EL将在JSF2 webapp中的JSTL标签中失败。
确保您至少安装了JSTL 1.1或1.2。建议使用JSTL 1.2。首先从jstl.jar
中删除standard.jar
和 /WEB-INF/lib
,然后下载jstl-1.2.jar
并将其放入/WEB-INF/lib
。最后确保按如下方式设置XML名称空间(使用URI中的/jsp
路径!):
xmlns:c="http://java.sun.com/jsp/jstl/core"
答案 1 :(得分:2)
使用$
代替#
<c:forEach var="i" begin="1" end="20" step="1" varStatus ="status">
<c:out value="${i}" />
</c:forEach>
<c:forEach>
来自JSTL,使用JSF,你应该使用<ui:repeat>
作为 Luiggi 评论
答案 2 :(得分:1)
当你在地图上使用它时,你没有具体说明什么不起作用...你是否尝试在foreach中设置地图/表的项目:
<c:forEach items="#{myMap}" var="item">
<h:outputText value="#{item.key}" />
<h:outputText value="#{item.value}" />
</c:forEach>