Freemarker 模板中的 JSP 标记

发布于 2024-11-29 16:57:27 字数 374 浏览 1 评论 0原文

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

I want to use some custom tags in a freemarker template which is easy enough as I can include the JspSupportServlet in my web.xml file and include the folowing line in the template.

<#assign my=JspTaglibs["/WEB-INF/mytaglib.tld"] />

However how do I go about doing this if the .tld is bundled in a JAR file inside the META-INF directory? I tried both of these with no luck.

<#assign my=JspTaglibs["/META-INF/mytaglib.tld"] />
<#assign my=JspTaglibs["/mynamespace"] />

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无边思念无边月 2024-12-06 16:57:27

FreeMarker 会自动扫描 WEB-INF/lib 目录中的所有 JAR 文件。如果它在 JAR 的 META-INF 目录中找到 .tld 文件(例如 META-INF/mytaglib.tld),它将查看其中以查找 标记。如果它找到一个,它将通过此​​ URI 使 taglib 可用,例如定义的 taglib

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

可以通过以下方式在 FreeMarker 中使用

<#assign my=JspTaglibs["http://example.org/mytaglib"] />

至少这对我有用...

FreeMarker automatically scans all JAR files in your WEB-INF/lib directory. If it finds .tld files inside a JAR's META-INF directory, like your META-INF/mytaglib.tld, it will peek inside it in order to find the <uri> tag. If it finds one, it will make the taglib available via this URI, e.g a taglib defined like

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

can be used in FreeMarker via

<#assign my=JspTaglibs["http://example.org/mytaglib"] />

At least this worked for me...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文