一尘不染

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

jsp

我正在尝试使用JSPX(用于JSP的纯XML语法),并遇到似乎应该可以使用的功能,但是没有用。我正在使用jsp:root元素中的名称空间声明导入taglib,然后在以后的元素和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函数调用可见的作用域?


阅读 305

收藏
2020-06-10

共1个答案

一尘不染

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

可以肯定的:你已经放置了JSTL
JAR文件(S)(jstl.jar和/或standard.jar取决于JSTL版本,直到1.1,这既是和1.2这只是jstl.jar)在类路径中,你根本
提取它们也没有凌乱的类路径和/还是web.xml一些较差的在线教程所说的文件和声明都比较松散?

2020-06-10