Freemarker的使用
?
Freemarker简介
Freemakrer是用于java中通过向已定义好的模板文件中传递map或JavaBean,从而生成<<文本>>文件的一个工具。
网站:http://freemarker.sourceforge.net/
在线文档:http://freemarker.sourceforge.net/docs/index.html
当然,网上也有中文版的pdf文档,也很实用。
书写javaBean
由于我想实验传递javaBean,毕竟Map的使用还是有些麻烦。在这个javaBean中将一般常用类型都包含了。
/** * @author colin */static class SimpleBean {private boolean bolField; false noprivate int intField; 0private BigDecimal bigDecimal; default value while emptyprivate String string; private Date date; private Time time; private Timestamp timestamp; }static class SimpleBean {private boolean bolField; true yesprivate int intField; 1private BigDecimal bigDecimal; 12.3457private String string; freemarkerprivate Date date; 2011-03-13private Time time; 10:22private Timestamp timestamp; 2011-03-13 10:22}?
注意事项:
- Freemarker对于null的结果会抛异常,需要自己处理。比如:
- ! 输出空格!'the default while empty' 指定一个为空时候的默认值
- cfg.setBooleanFormat("true,false"); 在我这边尝试,没有效果,还是需要额外处理boolean的输出<#if bean.bolField>true<#else>false</#if> 用if else 判断一下,输出自定义的值${bean.bolField?string(“yes”,”no”)} 转义