Freemarker:从模板文件 (*.ftl) 调用静态 util 方法
Freemarker: call a static util method from a template file (*.ftl)
在 Freemarker FTL 文件中,我想调用 StringUtils.capatilize(myString)
。例如:
<p>You selected ${selectionString}.</p>
<p>${StringUtils.capatilize(selectionString)} is great.</p>
我能以某种方式导入org.apache.commons.lang3.StringUtils
吗?
您不能 #import
class,只能使用其他模板。
请注意,只要将 objectWrapper.getStaticModels()
作为 statics
添加到 Configuration
或将其添加到数据模型中。
首先,将这些代码添加到您的 Controller
:
BeansWrapper wrapper = new BeansWrapper(new Version(2,3,27));
TemplateModel statics = wrapper.getStaticModels();
model.addAttribute("statics", statics);
然后,在您的 .ftl
文件中,像这样定义 class:
<#assign YourUtilClass=statics['com.springboot.util.YourUtilClass']>
(['']
中包含的路径为class'路径)
最后,您可以像这样访问您的静态方法:
${YourUtilClass.yourMethod(someParams)}
在 Freemarker FTL 文件中,我想调用 StringUtils.capatilize(myString)
。例如:
<p>You selected ${selectionString}.</p>
<p>${StringUtils.capatilize(selectionString)} is great.</p>
我能以某种方式导入org.apache.commons.lang3.StringUtils
吗?
您不能 #import
class,只能使用其他模板。
请注意,只要将 objectWrapper.getStaticModels()
作为 statics
添加到 Configuration
或将其添加到数据模型中。
首先,将这些代码添加到您的 Controller
:
BeansWrapper wrapper = new BeansWrapper(new Version(2,3,27));
TemplateModel statics = wrapper.getStaticModels();
model.addAttribute("statics", statics);
然后,在您的 .ftl
文件中,像这样定义 class:
<#assign YourUtilClass=statics['com.springboot.util.YourUtilClass']>
(['']
中包含的路径为class'路径)
最后,您可以像这样访问您的静态方法:
${YourUtilClass.yourMethod(someParams)}