自由标记中的自定义 JSP 标签



我正在尝试使用 Freemarker 模板引擎在服务器端渲染 HTML 内容。虽然一个简单的模板可以工作,但当我尝试使用自定义 jsp 标签库时,我遇到了问题。根据文档,如果使用FreemarkerServlet,这是非常简单的。它在数据模型中为"JspTaglibs"提供了一个哈希条目。在我的场景中,不可能使用 FreemarkerServlets。有没有办法在不使用自定义标签库的情况下使用它们?是否可以"模拟"FreemarkerServlet?

调用 JSP 标记不能在FreemarkerServlet之外解决。我认为从那里排除它将是一项实质性的工作,并且也会有一些陷阱。

问题是,当时添加FreemarkerServlet是为了帮助逐渐从JSP迁移到FTL(那是在JSP-2之前,当时JSP对于MVC来说是笨拙的中继)。因此,您可以开始用FTL-s逐个替换JPS-s。为了尽可能顺利地工作,FM 数据模型映射到标准的 Servlet 作用域等。但这不是你应该理想地使用 FM 的方式,这是一种妥协,一种黑客。但是,如果你在FreeMarker方式上做事(JavaBean或Map作为数据模型),那么调用JSP标签可能会变得棘手,因为它可能会在请求范围内获取/设置你不能从FreeMarker访问的东西。

最新更新