当前位置: 首页 > 知识库问答 >
问题:

Freemarker StringTemplateLoader

锺离烈
2023-03-14

我试图使用stringLoader从DB加载一些Freemarker模板,并通过template.process执行它们,但问题是,Freemarker的东西像<#if······正在执行,但当我尝试执行assign JspTaglibs时,它会中断。

下面是一个简单的例子:

我从数据库中获得<#assign bean=jsptaglibs[“/WEB-INF/struts-bean.tld]>,并将其放入StringTemplateLoader中。我创建了configuration,template...到目前为止一切正常。当我执行template.process(data,out)时,页面报告:

我有一个场景,我有一些代码存储在数据库中,我希望在template.process()期间用freemarker执行它。这可能吗?如果可能,我做错了什么?

共有1个答案

易奇希
2023-03-14

问题是jsptaglibs不是FreeMarker的核心特性,而是FreeMarkerServlet放入数据模型的特性,并且需要Servlet环境和HTTP请求(正如JSP所要求的那样)。开箱即用,无法将此特性从FreeMarkerServlet中分离出来。然而,也许你可以扩展它,这样你仍然可以为你的目的使用它。大部分魔术发生在createmodel中,其中,它将jsptaglibs添加到数据模型中。

如果通过FreeMarker配置为FreeMarker提供这样的TemplateLoader实现如果您只想从数据库中提供模板,而不是Struts传统上存储模板的地方,那么只需要提供适当的TemplateLoader

 类似资料:

相关问答

相关文章

相关阅读