我想在freemarker模板中使用一些自定义标签,这很容易,因为我可以在我的web.xml文件中包含JspSupportServlet并在模板中包含以下行。
<#assign my=JspTaglibs["/WEB-INF/mytaglib.tld"] />
但是,如果.tld捆绑在META-INF目录中的JAR文件中,我该怎么做呢?我试过这两个都没有运气。
<#assign my=JspTaglibs["/META-INF/mytaglib.tld"] />
<#assign my=JspTaglibs["/mynamespace"] />
答案 0 :(得分:3)
FreeMarker会自动扫描WEB-INF / lib目录中的所有JAR文件。如果它在JAR的META-INF目录中找到.tld文件,就像你的META-INF / mytaglib.tld一样,它会在里面查看,以便找到<uri>
标签。如果找到一个,它将通过此URI使taglib可用,例如定义为
<taglib>
<shortname>my custom taglib</shortname>
<uri>http://example.org/mytaglib</uri>
<!-- ... -->
</taglib>
可以通过
在FreeMarker中使用<#assign my=JspTaglibs["http://example.org/mytaglib"] />
至少这对我有用......