生活随笔
收集整理的這篇文章主要介紹了
freemarker加载模板的三种方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
過了幾天再看這篇文章感覺自己寫的也太不走心的,本渣渣決定好好解釋一下( ̄▽ ̄)"
加載模板的三種方法我覺得下面那個連接中大家都可以看懂我就之所以下模板的流程吧
先建一個word文檔根據畫出你想要的模板
在此框中填入代碼如 ${nation} nation可以換成別的,但是一定要保證到時候傳參的時候要一致
將所有需要替換的位置都用代碼替換后,將該文件轉成ftl文件,將ftl文件放在項目中可以將我下面的代碼復制到你的函數中,修改相應的參數
十分感謝下面鏈接的作者,筆芯
https://blog.csdn.net/gtlishujie/article/details/52300381
Configuration cfg = new Configuration(); try { FileSystemView fsv = FileSystemView.getFileSystemView();// 將桌面的那個文件目錄賦值給fileFile file = fsv.getHomeDirectory();// 輸出桌面那個目錄的路徑String dir = file.getPath();System.out.println(dir);cfg.setClassForTemplateLoading(this.getClass(), "/test0827");//模板所在位置Template template = cfg.getTemplate("test.ftl"); //framemaker.ftl為要裝載的模板 // 設置對象包裝器 cfg.setObjectWrapper(new DefaultObjectWrapper()); // 設置異常處理器 cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER); // 定義數據模型 Map<String, String> root = new HashMap<String, String>(); root.put("nation", "漢"); //將 漢 替換原來 ${nation}的位置PrintWriter out = new PrintWriter(new BufferedWriter( new FileWriter(dir+"/out.doc"))); //文件所儲存的位置try { // 解釋模板 template.process(root, out); //將 名為root的Map 映射到 out 輸出中} catch (TemplateException e) { e.printStackTrace(); } } catch (IOException e) { e.printStackTrace(); }
模板中:
民族 ${nation}
結果:
民族漢
模板為ftl文件
總結
以上是生活随笔為你收集整理的freemarker加载模板的三种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。