1

我有一个带有一些 JSTL 标记的 JSP,它们都可以正常工作,但是 forEach。这是我的 JSP 代码:

头文件.jsp

    <!DOCTYPE html>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib prefix="sec"
        uri="http://www.springframework.org/security/tags"%>
    <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
    <%@ page isELIgnored="false"%>

    <meta charset="utf-8">

    <div>
       <!-- header stuff -->
    </div>

主页.jsp

<html>
<head></head>
<body>
    <%@include file="header.jsp"%>
    <c:if test='${pageContext["request"].userPrincipal.principal.enabled eq false}'>
          <div class='alert alert-warn fade in'>
          ....
      </div>
    </c:if>

    <table>
         <c:choose>
               <c:when test="${not empty results}">
                   <c:forEach var="item" items="${results}">
                     ...
                   </c:forEach>
               </c:when>
               <c:otherwise>
                  <tr id="noItems" class="accordion-toggle" >
                      <td>No items.</td>
                  </tr>
               </c:otherwise>
     </c:choose>
    </table>

</html>

我看不到任何东西,也看不到结果,也看不到“无项目”消息。

我的依赖项如下:

<dependencies>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <type>jar</type>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
        <scope>provided</scope>
    </dependency>

</dependencies>

web.xml

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
              http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">

部署在 tomcat 6 上它不起作用,但如果我使用 Maven Tomcat 插件在 Eclipse 上部署它,它工作正常。有谁知道错误可能在哪里?

编辑:

我在控制台中收到此错误:

[TagLibraryInfoImpl] 属性中的未知元素(延迟值)

4

1 回答 1

1

使用 Eclipse“Open Type”对话框,我想出了两个 forEach 实现。一个在jasper-compiler.jar,从 hbase 依赖项中自动导入,另一个在velocity.jar. 它们与我当前jstl1-2.jar的 forEach 实现相冲突。

从我的依赖项中排除这些罐子,问题就消失了。

于 2013-10-03T19:34:27.730 回答