[英]Correct .tld file header
我想创建自定义标签,但是在JSPVersion行上出现“ XML解析错误”。 我检查我的JSP版本,正好是2.1。 我认为链接有误。
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd">
<tlib-version>1.0</tlib-version>
<jsp-version>2.1</jsp-version>
谁能帮我? 谢谢
UPD /错误消息:org.apache.jasper.JasperException:无法初始化TldLocationsCache:org.apache.jasper.JasperException:文件/WEB-INF/tlds/tag.tld上的XML解析错误:(第11行,第2行)
您正在使用具有DTD风格的旧JSP 1.2标记库声明。 您需要删除它(以及<jsp-version>
)并使用新的JSP 2.1 XSD声明:
<?xml version="1.0" encoding="UTF-8" ?>
<taglib
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/web-jsptaglibrary_2_1.xsd"
version="2.1">
<!-- Taglib config here -->
</taglib>
确保您正在阅读有关JSP 2.1而不是JSP 1.2的正确书籍/教程。
您的DOCTYPE
不正确吗? 请尝试以下操作:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
注意:如果确实要使用v2.1,我将建议您将定义更新为Java EE 5版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.