需求:
需要在freemarker渲染页面的时候使用java的工具类
实现:
BeansWrapper wrapper = BeansWrapper.getDefaultInstance();
TemplateHashModel staticModels = wrapper.getStaticModels();
TemplateHashModel fileStatics = (TemplateHashModel) staticModels.get("org.apache.commons.codec.digest.DigestUtils");
Map<String, Object> rootMap = new HashMap<String, Object>();
rootMap.put("DigestUtils", fileStatics);
Configuration configuration = freeMarkerConfigurationFactory
.createConfiguration();
Template template = configuration.getTemplate(templateName);
File file = new File(outPutFile);
Writer out = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
template.process(rootMap, out);
页面使用:
${DigestUtils.md5Hex('www.someabcd.com')}