【问题标题】:Problems with JSTL forEach in JSF 2JSF 2 中 JSTL forEach 的问题
【发布时间】:2011-05-04 10:43:12
【问题描述】:

您好,我收到以下代码:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0    
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:p="http://primefaces.prime.com.tr/ui"
  xmlns:c="http://java.sun.com/jsp/jstl/core"
>

<h:body>
 <c:forEach items="#{backingBean.personList}" var="person">
   <h:outputText value="#{person.name}" />
 </c:forEach>
</h:body>
</html>    

这失败了:

 java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTagStatus

我使用 jstl-impl-1.2.jar。有人可以帮我解决这个问题吗?谢谢

马塞尔

【问题讨论】:

    标签: java jsf foreach jstl


    【解决方案1】:

    我认为您缺少 JSTL-api jar。

    sonatype's nexus 上的类名搜索返回了这个 maven 依赖项:

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.1.2</version>
    </dependency>
    

    不使用maven的可以download it from this page。

    您也可以使用Findjar.com 查找occurrences of the class。

    【讨论】:

      【解决方案2】:

      standard.jar 呢?

      你在 WEB-INF/lib 中有两个 JAR 吗?

      【讨论】:

      • 这很快。我使用了来自jstl.dev.java.net/download.html 的实现1.2,它没有提供standard.jar。我现在尝试了 1.1.2 jakarta 版本,它可以工作。谢谢马塞尔
      • 如果这确实解决了问题,那么这意味着您的 web.xml 被定义为 servlet 2.4 或更早版本,而不是 servlet 2.5 或更高版本。尝试将 web.xml 声明为 servletcontainer 支持的最大 servlet 版本。
      【解决方案3】:

      如果我没记错的话,JSTL 核心使用 EL,其语法类似于 ${} 而不是 #{}。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-28
        • 1970-01-01
        • 1970-01-01
        • 2011-05-31
        • 2011-07-26
        • 2015-07-20
        • 2010-11-30
        相关资源
        最近更新 更多