如何直接从ftl模板调用FreeMarker指令?

时间:2016-04-01 19:40:25

标签: java spring model-view-controller freemarker

简短问题: 是否可以直接从我的ftl调用FreeMarker指令FormatDirective.java来实现TemplateDirectiveModel

<#assign formattedPhoneNumber = "com.myapp.utils.FormatDirective"?new(phoneNumber)>


详细问题: 它的Spring MVC Web应用程序的视图使用FreeMarker编写,根本没有Java配置,我只在FreeMarkerConfigurer中正确定义和配置了FreeMarkerViewResolverroot-context.xml bean

我想避免Java配置(比如将模板添加到模型或共享变量)。 什么是正确的方法 - 一般来说 - 让Java指令工作?我似乎没有找到完整的教程或示例。

由于

1 个答案:

答案 0 :(得分:0)

您可以将常用的指令和功能收集到my-commons.ftl

之类的内容中
<#assign format = "com.myapp.utils.FormatDirective"?new()>
...

然后在你的模板中:

<#import "my-commons.ftl" as my>
...
<@my.format value=phoneNumber />