Freemarker中的自定义JSP标记

时间:2014-03-05 05:33:52

标签: jsp jsp-tags freemarker

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

1 个答案:

答案 0 :(得分:0)

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

事情是,FreemarkerServlet被添加回来以帮助逐渐从JSP迁移到FTL(这是在JSP-2之前的时代,当JSP为MVC传递尴尬时)。所以你可以开始用FTL-s逐个替换你的JPS-s。为了使其尽可能顺利地工作,FM数据模型映射到标准的Servlet范围等。但这不是你应该如何理想地使用FM,它是一种妥协,一种黑客攻击。但是如果你用FreeMarker方式(JavaBean或Map作为数据模型)做事情,那么调用JSP标签会变得棘手,因为它可能会在请求范围内获取/设置,例如,你无法访问来自FreeMarker。