一尘不染

Freemarker模板中的JSP标签

jsp

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

阅读 438

收藏
2020-06-08

共1个答案

一尘不染

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"] />

至少这对我有用…

2020-06-08