3

我正在尝试使用 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 函数调用可见的范围?

4

1 回答 1

4

为什么不使用完整的 TLD URI?您可以在此处找到有效 JSTL TLD URI 的概述(单击您感兴趣的任何 JSTL 标签库以获取有效的声明示例)。

可以肯定的是:您已经在类路径中放置了 JSTL JAR 文件(jstl.jar和/或standard.jar,取决于 JSTL 版本,直到 1.1 是两者,而在 1.2 中是唯一jstl.jar),您没有提取它们,也没有弄乱类路径和/还是web.xml像一些糟糕的在线教程所说的那样松散的文件和声明?

于 2009-12-10T22:34:22.037 回答