日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

获取freemarker处理后的内容

發布時間:2025/3/11 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 获取freemarker处理后的内容 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 相信很多人都用過freemarker,或做視圖,或模板,或生成靜態文件等,但是有多少人做過這樣的應用,通過模板后,不是要輸出靜態的內容,而是直接在代碼中獲取處理模板后的內容,研究了下API,freemarker里提供StringWriter,StringWriter不需要指定文件,所以看名字也能知道,他能直接獲取處理后的內容,代碼如下?




Java代碼??
  • import?java.io.IOException;??
  • import?java.io.StringWriter;??
  • import?java.util.ArrayList;??
  • import?java.util.HashMap;??
  • import?java.util.List;??
  • import?java.util.Map;??
  • ??
  • import?freemarker.template.Configuration;??
  • import?freemarker.template.Template;??
  • import?freemarker.template.TemplateException; ?
  • ??
  • public?class?TestFreemarker??
  • {??
  • ??????
  • ????@SuppressWarnings("unchecked")??
  • ????public?static?void?main(String[]?args)?throws?IOException??
  • ????{??
  • ????????Configuration?cfg?=?new?Configuration();?
  • cfg.setDirectoryForTemplateLoading(new File("E:\\kuaipan\\workspace2016\\freemarker001\\src\\hello"));?
  • ????????List<String>?strList=new?ArrayList<String>();??
  • ????????for?(int?i?=?0;?i?<?2000;?i++)??
  • ????????{??
  • ????????????strList.add("第??"+i+"?個");??
  • ????????}??
  • ??????????
  • ????????Map?root?=?new?HashMap();??
  • ????????root.put("message",?"您好!");??
  • ????????root.put("username",?"diqiu");??
  • ????????root.put("strList",?strList);??
  • ????????Template?t?=?cfg.getTemplate("test.txt");??
  • ??????????
  • ????????//最關鍵在這里,不使用與文件相關的Writer??
  • ????????StringWriter?stringWriter=new?StringWriter();??
  • ??????????
  • ????????try??
  • ????????{??
  • ????????????t.process(root,?stringWriter);??
  • ??????????????
  • ????????????//這里打印的就是通過模板處理后得到的字符串內容??
  • ????????????System.out.println("stringWriter:?"+stringWriter.toString());??
  • ????????}?catch?(TemplateException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ??
  • ????}??
  • ??
  • }??



  • test.txt模板里的內容如下:?

    Java代碼??
  • ${message}??
  • ${username}??
  • ??
  • ${strList?size}??
  • ??
  • <#list?strList?as?str>??
  • ????str:${str};?哈哈??
  • </#list>??


  • 總結

    以上是生活随笔為你收集整理的获取freemarker处理后的内容的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。