【发布时间】:2016-06-24 02:59:20
【问题描述】:
我是 Java 服务器开发的新手,我正在将用 ColdFusion 编写的 Web 应用程序转换为 Glassfish 4 上的 Java EE Web 应用程序。这个应用程序是 JSP 重的(最好使用 servlet)。这是设计使然,不是我的决定。
错误是:
org.apache.jasper.JasperException:
PWC6170:来自 >TagLibraryValidator for sql 的验证错误消息
空:org.xml.sax.SAXParseException; >行号:1726;列号:3;已经为 >element "c:set" 指定了属性 "var"。
似乎这些极少数 JSP 不接受 taglib 引用。这是一个示例(在所有文件中都相同):
我发现如果我删除 URI 属性的“jsp/”部分,错误就会消失(但是我不能在 <c:set> 标记中使用 EL 表达式)。所以我想知道我的 Web 容器中是否有两个不同版本的 JSTL?
这是我的 web.xml(删除了所有 servlet 的底部):
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
许多(数百个)JSP 可以在这个 taglib 上正常工作,而且它们位于混合的目录/位置中,所以我真的不知道为什么会发生这种情况。帮忙?
【问题讨论】: