StringTemplateLoader的用法

freemarker模板引擎的功能,不能说是最优的,只能说:在某些业务场景,freemarker相比于其他技术会更好。
在模板处理方面,freemarker可以有很多种形式,最常见的方式就是将模板文件放在一个系统统一的文件夹目录下面。
如下形式:
Configuration cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(new File("templates"));
现在我碰到这样的业务场景:模板是基于配置的形式存在,模板可以随时在页面动态修改。
这时我就想把我的模板存放到数据库中。
基于可行性调查与分析,freemarker是可以做到的。


我们使用StringTemplateLoader来加载模板内容。
主要的代码实现如下所示:
String result = "";
Configuration cfg = new Configuration(); 
cfg.setNumberFormat("0.##");
cfg.setClassicCompatible(true);
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("name", "Brady");
StringTemplateLoader stringLoader = new StringTemplateLoader();  
String templateContent="hello ${name}!";  
stringLoader.putTemplate("myTemplate",templateContent);  
cfg.setTemplateLoader(stringLoader);  
Template template = cfg.getTemplate("myTemplate","utf-8");
Writer writer = new StringWriter();
template = process(paramMap, writer);
resultStr = writer.toString();
writer.flush();
return result;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值