默认情况下,freemarder是不能不能调用JAVA静态函数。想要实现这样的功能,我们需要在freemarker的配置环境中注册相应:
Configuration cfg = new Configuration();
BeansWrapper wrapper = BeansWrapper.getDefaultInstance();
cfg.setObjectWrapper(wrapper);
cfg.setSharedVariable("Static", wrapper.getStaticModels());
cfg.setLocalizedLookup(false);
cfg.setSharedVariable("StringUtil", new BeanModel(StringUtil.INSTANCE, wrapper));
这样我们就可以在ftl文件中调用了。
Configuration cfg = new Configuration();
BeansWrapper wrapper = BeansWrapper.getDefaultInstance();
cfg.setObjectWrapper(wrapper);
cfg.setSharedVariable("Static", wrapper.getStaticModels());
cfg.setLocalizedLookup(false);
cfg.setSharedVariable("StringUtil", new BeanModel(StringUtil.INSTANCE, wrapper));
这样我们就可以在ftl文件中调用了。