play document template

  今天在开发中,要采用play框架的邮件模板来发送邮件。

play模板引擎文档资料地址:http://playframework.com/documentation/1.2.5/templates

看了文档,一知半解,照着文档写了一个html,结果发现调用出错,错误显示render()时找不到html的map,null抛异常。追查半天也没追查出来,后来问长伟才得以解决。render时,有个默认参数是模板名,要将原来的map作value,以模板名作为key封装在一个新的map中,render的时候调用这个新的map解析,才可以找到原来的map,进而取出里面的值。用法如下:

service或controller里面这样使用:

Template template = TemplateLoader.load(templateName);
Map<String, Object> dataBinding= Maps.newHashMap();
dataBinding.put("params", params);
String content = template.render(dataBinding);

html文件中这样使用:

#{list items:params.keySet(),as:'key'}
<tr><td>${key}</td><td>${params.get(key)}</td></tr>
#{/list}
原文地址:https://www.cnblogs.com/kathy870513/p/3657721.html