【问题标题】:Correct .tld file header正确的 .tld 文件头
【发布时间】:2012-01-05 19:28:18
【问题描述】:

我想创建自定义标签,但在 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 行,col 2)

【问题讨论】:

    标签: java jsp taglib


    【解决方案1】:

    您正在使用旧的 JSP 1.2 标记库声明,具有 DTD 的风格。您需要删除它(以及 &lt;jsp-version&gt;)并使用新的 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 的书籍/教程。

    另见:

    【讨论】:

    • 谢谢,已添加。但现在出现其他错误:根据标记文件中的 TLD 或属性指令,属性 atribut_1 不接受任何表达式。在谷歌上搜索后,我了解到我必须更改 url,从 java.sun.com/jstl/core' prefix='c'%> TO 到 java.sun.com/jsp/jstl/core' prefix='c '%> 但是在哪里??
    • 这是一个不同的问题。问一个新问题。提示:&lt;rtexprvalue&gt;。阅读链接的教程。不,JSTL 与它完全无关。您正在创建一个 custom JSP 标签库。这与 JSTL 不同。它只是一个标准 JSP 标签库。在这一点上忘记 JSTL。要了解有关 JSTL 的更多信息,请查看stackoverflow.com/tags/jstl/info
    • 非常感谢。我设置为真正的“rtexprvalue”。现在:找不到属性的设置方法:atribut_1。我将创建新问题
    • 不客气。至于新问题,嗯,这是不言自明的。添加适当的 Javabean setter 方法public void setAtribut_1(String atribut_1)。阅读 Javabeans 规范以获取更多详细信息(我也会处理您的 Java naming conventions;camelcase 等)。
    • 是的,我添加了它。我也添加了属性的tyoe,但它不想工作。
    【解决方案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 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 2016-08-05
      • 2020-04-16
      • 2010-11-15
      • 2013-04-12
      • 1970-01-01
      • 2014-05-21
      相关资源
      最近更新 更多