✎
编程开发网
首页
C语言
C++
面试
Linux
函数
Windows
数据库
下载
搜索
当前位置:
首页
->
AI编程基础
->
JAVA
Java模板引擎 FreeMarker(三)
2014-11-23 22:27:48
·
作者:
·
浏览:
2
标签:
Java
模板
引擎
FreeMarker
icj4KRnJlZW1hcmtlclRlc3TA4CC0+sLrCjxwcmUgY2xhc3M9"brush:java;">import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import freemarker.template.Configuration; import freemarker.template.DefaultObjectWrapper; import freemarker.template.Template; import freemarker.template.TemplateException; import freemarker.template.TemplateExceptionHandler; import junit.framework.TestCase; public class FreemarkerTest extends TestCase { private String dir = "E:/.../OA/TestTotal/src/com/bjsxt/oa/freemarker"; public void testFreemarker() { Configuration cfg = new Configuration(); try { // 从哪里加载模板文件 cfg.setDirectoryForTemplateLoading(new File(dir)); // 定义模版的位置,从类路径中,相对于FreemarkerManager所在的路径加载模版 // cfg.setTemplateLoader(new ClassTemplateLoader(FreemarkerManager.class, "templates")) // 设置对象包装器 cfg.setObjectWrapper(new DefaultObjectWrapper()); // 设置异常处理器 cfg .setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER); // 定义数据模型 Map root = new HashMap(); root.put("abc", "世界,你好"); // 通过freemarker解释模板,首先需要获得Template对象 Template template = cfg.getTemplate("test.ftl"); // 定义模板解释完成之后的输出 PrintWriter out = new PrintWriter(new BufferedWriter( new FileWriter(dir+"/out.txt"))); try { // 解释模板 template.process(root, out); } catch (TemplateException e) { e.printStackTrace(); } } catch (IOException e) { e.printStackTrace(); } } }
下面是定义的模板 test.ftl
test.flt 代码
第一个测试程序:${abc}
最后运行的结果如下
输出了out.txt文件,out.txt文件中的内容如下:
第一个测试程序:世界,你好
首页
上一页
1
2
3
下一页
尾页
3
/3/3