JSP函数名称对EL函数不可见?

时间:2009-12-10 22:28:16

标签: xml jsp el taglib jspx

我正在尝试使用JSPX(JSP的纯XML语法)并运行到看起来应该工作的东西,但却没有。我在jsp:root元素中使用命名空间声明导入taglibs,然后在元素和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 个答案:

答案 0 :(得分:4)

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

确定:您已经放置了JSTL JAR文件(jstl.jar和/或standard.jar,具体取决于JSTL版本,直到1.1为两者并且在1.2中它只有{{1在类路径中你做了提取它们,也没有使用松散的文件和声明来填充类路径和/或jstl.jar,正如一些糟糕的在线教程所说的那样?