代码之家  ›  专栏  ›  技术社区  ›  Alan Krueger

JSPX命名空间对EL函数不可见?

  •  3
  • Alan Krueger  · 技术社区  · 15 年前

    我正在尝试使用JSPx(JSP的纯XML语法),并运行到看起来应该工作但不工作的地方。我正在使用jsp:root元素中的名称空间声明导入标记库,然后在后面的元素和el函数中使用这些标记库:

    <jsp:root version="2.0"
        xmlns:jsp="http://java.sun.com/JSP/
        xmlns:c="urn:jsptld:/WEB-INF/tld/c.tld"
        xmlns:fn="urn:jsptld:/WEB-INF/tld/fn.tld">
        ...
        <c:if test="${fn:length(list) &gt; 0">
            ...
        </c:if>
        ...
    </jsp:root>
    

    我得到一个异常:“属性前缀fn不对应于任何导入的标记库”。其他页面工作正常,但此页面的不同之处在于它使用了标记库中包含的一些EL函数。

    是否有其他类型的导入需要将这些taglib前缀引入EL函数调用可见的范围?

    1 回复  |  直到 9 年前
        1
  •  4
  •   BalusC    15 年前

    为什么不使用完整的TLD URI?你可以找到 here 有效JSTLTLD URI的概述(单击您感兴趣的任何JSTL taglib以获取有效声明示例)。

    要确保:您已经放置了JSTLJAR文件( jstl.jar 和/或 standard.jar ,取决于JSTL版本,在1.1之前它都是,而在1.2中它只是 杰斯罐 )在课堂上你做到了 提取它们,不要使类路径混乱和/或 web.xml 像一些糟糕的在线教程所说的那样,文件和声明松散?