一个简单的freemark输入输出的案例(一)

假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html

 

一、 创建FreeMarker模板文件user.ftl

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 2 <html>
 3   <head>
 4   <meta http-equiv=Content-Type content="text/html; charset=utf-8">
 5     <title>user.ftl</title>
 6   </head>
 7   <body>
 8     ${user.userName}
 9     ${user.userPassword}
10   </body>
11 </html>

二、 创建FreeMarker模板文件动态绑定的数据对象类User.java(Sring中pojo) 

1 User.java 
2 //..省略包的导入  
3       public class User{ 
4  private String userName; 
5 private String userPassword; 
6 …省略 getter()与setter方法
7 }

三、 创建FreeMarker模板文件解析器类FreeMarkertUtil 

 1 FreeMarkertUtil.java 
 2 //省略包的导入 
 3 Public class FreeMarkerUtil{ 
 4 //templatePath模板文件存放路径
 5 //templateName 模板文件名称
 6 //filename 生成的文件名称 
 7 public static void  analysisTemplate ( String templatePath,String templateName,String fileName,Map<?,?>root ){ 
 8 try { 
 9    Configuration config=new Configuration(); 
10   // 设置要解析的模板所在的目录,并加载模板文件 
11   config.setDirectoryForTemplateLoading(new File(templatePath)); 
12    //设置包装器,并将对象包装为数据模型 
13    config.setObjectWrapper(new DefaultObjectWrapper()); 
14   //获取模板,并设置编码方式,这个编码必须要与页面中的编码格式一致 
15  //否则会出现乱码 
16 Template template=config.getTemplate(templateName,“UTF-8”); 
17    //合并数据模型与模板 
18    FileOutputStream fos = new FileOutputStream(fileName); 
19    Writer out = new OutputStreamWriter(fos,“UTF-8”); 
20        template.process(root, out);
21       out.flush(); 
22       out.close(); 
23   } catch (IOException e) { 
24    e.printStackTrace(); 
25   }catch (TemplateException e) { 
26    e.printStackTrace(); 
27   } 
28  } 
29 } 

四、 创建FreeMarker生成静态页面测试类ClientTest.java

 1 //..省略包的导入
 2 public class ClientTest{
 3  public static void main(String[] args){
 4   User user=new User();
 5   user.setUserName("张三");
 6   user.setUserPassword("123");
 7   Map<String,Object> root=new HashMap<String, Object>();
 8   root.put("user", user);
 9   String templatesPath="D:/DevPlateForm/Eclipse/workspaces/freeMakerTest/src/templates";
10   String templateFile="/user.ftl";
11   String htmlFile=templatesPath+"/user.html";
12     FreeMarkertUtil.analysisTemplate(templatesPath,templateFile,htmlFile,root);
13 }
14 }

 

假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值