一个简单的freemark输入输出的案例(一)
生活随笔
收集整理的這篇文章主要介紹了
一个简单的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
總結
以上是生活随笔為你收集整理的一个简单的freemark输入输出的案例(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php拆分数字字符串方法
- 下一篇: 未来已来——工作空间WorkSpace和