将代码freemarker执行成freemarker ftl

Posted

技术标签:

【中文标题】将代码freemarker执行成freemarker ftl【英文标题】:Execute code freemarker into a freemarker ftl 【发布时间】:2021-09-13 13:15:42 【问题描述】:

我正在尝试在 freemarker ftl 中执行 freemarker 代码,我解释一下我所拥有的:

我们有一个带有 Spring 的模块,可以解决 FTL 视图并打印其内容,即使在这里一切正常,但有时我们希望在该视图中引入更多代码,我们需要这样做而无需再次部署模块,这就是我们在 String 变量中输入 Freemarker 代码并通过模型将该变量传递给视图的原因。但是问题出现在这里,我不知道如何管理那个变量,我最多只能画$myVar,但是Freemakrer代码看起来好像是一个简单的html(即Freemarker不执行就这样)。

有没有办法对具有 Freemarker 代码的变量进行某种包含?

【问题讨论】:

【参考方案1】:

我们对视图中的动态部分做类似的事情。您可以使用interpret<@var> 来实现这一点。类似的东西

<#assign varTempl = myVar?interpret >
<@varTempl />

第一行会解析你的模板,第二行会打印出来。

【讨论】:

有效!一个问题,我们有自己的变量(我们通过 model.setAttribute 传递),我们在该变量的代码中使用这些变量,是否有可能将所述对象传递给该句子 到哪句话?整个模型可供解释器使用,因此任何东西都可用。 你在世界上是绝对正确的,它完美地工作并且可以访问模型的所有数据,我检查了代码并且它包含一些错误,但在解决它之后我看到了我需要!非常感谢! 请注意,您实际上并不需要为此创建一个变量,因为您可以只写&lt;@myVar?interpret /&gt;

以上是关于将代码freemarker执行成freemarker ftl的主要内容,如果未能解决你的问题,请参考以下文章

表现层 FreeMarker与JSP

Spring Boot2 系列教程Spring Boot 整合 Freemarker

Freemarker + xml 实现Java导出word

我没有将 freemarker 用于 struts2,但我看到 freemarker 生成了很多日志记录

如何利用SQL中数据使用FreeMarker生成JAVA实体bean代码

Java导出word文档之freemarker导出