我正在尝试使用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) > 0"> ... </c:if> ... </jsp:root>
我收到一个异常消息:“属性前缀fn不对应于任何导入的标记库”。其他页面工作正常,但是该页面的不同之处在于它使用了标记库中包含的一些EL函数。
我是否需要另一种导入方式,将这些taglib前缀带入对EL函数调用可见的作用域?
为什么不使用完整的TLD URI?您可以在此处找到有效JSTL TLD URI的概述(单击您感兴趣的任何JSTL taglib以获取有效的声明示例)。
可以肯定的:你已经放置了JSTL JAR文件(S)(jstl.jar和/或standard.jar取决于JSTL版本,直到1.1,这既是和1.2这只是jstl.jar)在类路径中,你根本 不 提取它们也没有凌乱的类路径和/还是web.xml一些较差的在线教程所说的文件和声明都比较松散?
jstl.jar
standard.jar
web.xml