每个jsf的C都不起作用。 JSF

时间:2012-07-16 06:34:26

标签: java jsf jstl

我正在尝试使用 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} 

3 个答案:

答案 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>