0

我正在尝试在 jsf 2.0 中将 c foreach 与 hashmap 或 table一起使用,但它不起作用,所以我写了一个像这样的简单代码,但这个代码仍然不起作用....请帮助我丢失的地方...

<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} 
4

3 回答 3

6

当您出于某种原因使用古老且 EOL 的 JSTL 1.0 时,EL 将在 JSF2 webapp 中的 JSTL 标记中失败。

确保您至少安装了 JSTL 1.1 或 1.2。建议使用 JSTL 1.2。首先从您的中删除jstl.jar ,然后下载并将其放入. 最后确保您将 XML 命名空间设置如下(使用URI 中的路径!):standard.jar/WEB-INF/libjstl-1.2.jar/WEB-INF/lib/jsp

xmlns:c="http://java.sun.com/jsp/jstl/core"

也可以看看:

于 2012-07-16T12:59:23.163 回答
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评论的那样

于 2012-07-16T06:38:36.217 回答
1

当您将它与地图一起使用时,您没有指定究竟是什么不起作用......您是否尝试在 foreach 中设置地图/表格的项目:

<c:forEach items="#{myMap}" var="item">             
  <h:outputText value="#{item.key}" />
  <h:outputText value="#{item.value}" />
</c:forEach>
于 2012-07-16T06:39:00.670 回答