Freemarker模板中的JSP标记

时间:2011-08-12 16:20:21

标签: java jsp freemarker

我想在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"] />

1 个答案:

答案 0 :(得分:3)

FreeMarker会自动扫描WEB-INF / lib目录中的所有JAR文件。如果它在JAR的META-INF目录中找到.tld文件,就像你的META-INF / mytaglib.tld一样,它会在里面查看,以便找到<uri>标签。如果找到一个,它将通过此​​URI使taglib可用,例如定义为

的taglib
<taglib>
  <shortname>my custom taglib</shortname>
  <uri>http://example.org/mytaglib</uri>
  <!-- ... -->
</taglib>

可以通过

在FreeMarker中使用
<#assign my=JspTaglibs["http://example.org/mytaglib"] />

至少这对我有用......