有没有办法覆盖标签库的TLD中声明的URI?

时间:2012-11-07 08:30:30

标签: jsp servlets taglib

假设我正在使用JAR文件中打包的标记库。鉴于我不想修改JAR文件,是否有办法在其URI与另一个标记库发生冲突时更改或覆盖标记库的声明URI?

1 个答案:

答案 0 :(得分:1)

如果您为不同的taglib获取了冲突的URI并且不想更改JAR,您可以从JAR中提取TLD并尝试使用以下内容在web.xml中覆盖它:

<jsp-config>
    <taglib>
        <taglib-uri>http://foobar.org</taglib-uri>
        <taglib-location>/WEB-INF/tlds/yourtaglib.tld</taglib-location>
    </taglib>
</jsp-config>

这假设您将提取的TLD文件放在/WEB-INF/tlds/yourtaglib.tld中,并且您将在JSP中使用http://foobar.org引用它:

<%@ taglib uri="http://foobar.org" prefix="p" %>