在Freemarker FTL文件中,我想拨打StringUtils.capatilize(myString)
。例如:
<p>You selected ${selectionString}.</p>
<p>${StringUtils.capatilize(selectionString)} is great.</p>
我可以以某种方式导入 org.apache.commons.lang3.StringUtils
吗?
答案 0 :(得分:4)
首先,将这些代码添加到您的Controller
:
BeansWrapper wrapper = new BeansWrapper(new Version(2,3,27));
TemplateModel statics = wrapper.getStaticModels();
model.addAttribute("statics", statics);
然后,在您的.ftl
文件中,定义这样的类:
<#assign YourUtilClass=statics['com.springboot.util.YourUtilClass']>
(['']
中包含的路径是类的路径)
最后,您可以像下面这样访问您的静态方法:
${YourUtilClass.yourMethod(someParams)}
答案 1 :(得分:2)
您不能#import
一个班级,只能使用其他模板。
请注意,只要将#assign StringUtils=statics['org.apache.commons.lang3.StringUtils']
objectWrapper.getStaticModels()
添加到statics
的共享变量集中,您就可以使用Configuration
获得类似的结果,或者添加它到数据模型。