Freemarket模板處理
今天設計了一個功能,發郵件,而且郵件的內容是html。html內容裡面帶有動態內容,因此覺得freemarket是個不錯的選擇。
結合同事以前對Freemarket的處理,自己在同事的程式碼的基礎上稍微修改了下,不過估計網路上相同功能的東西太多了。
這樣我們就可以通過getContentFromTemplate()獲取html內容,然後再傳送這個內容到對方的郵件中,
至於模板碼,可以像寫普通的freemarket檔案那麼簡單。
結合同事以前對Freemarket的處理,自己在同事的程式碼的基礎上稍微修改了下,不過估計網路上相同功能的東西太多了。
java 程式碼
- class HtmlTemplateGenerator {
- Configuration cfg = null;
- public HtmlTemplateGenerator(String templatePath) throws IOException {
- cfg = new Configuration();
- cfg.setDefaultEncoding("UTF-8");
- cfg.setDirectoryForTemplateLoading(new File(templatePath));
- cfg.setObjectWrapper(new DefaultObjectWrapper());
- }
- /**
- * 生成靜態檔案
- * @param ftlTemplate ftl模版檔案
- * @param contents ftl要用到的動態內容
- * @param savePath 檔案儲存路徑
- * @param saveFilename 儲存檔名
- * @throws IOException
- * @throws TemplateException
- */
- public void create(String ftlTemplate, Map contents, String savePath, String saveFilename) throws IOException, TemplateException {
- Template temp = cfg.getTemplate(ftlTemplate);
- /* Merge data model with template */
- String realPath = ServletActionContext.getServletContext().getRealPath(savePath);
- System.out.println( saveFilename + ":" + realPath);
- File file = new File(realPath);
- if(!file.exists())
- file.mkdirs();
- Writer out = new OutputStreamWriter(new FileOutputStream(realPath + "/" + saveFilename),"UTF-8");
- temp.process(contents, out);
- out.flush();
- }
- public String getContentFromTemplate(String ftlTemplate, Map contents) throws IOException, TemplateException {
- Template temp = cfg.getTemplate(ftlTemplate);
- /* Merge data model with template */
- StringWriter sw = new StringWriter();
- temp.process(contents, sw);
- return sw.toString();
- }
這樣我們就可以通過getContentFromTemplate()獲取html內容,然後再傳送這個內容到對方的郵件中,
至於模板碼,可以像寫普通的freemarket檔案那麼簡單。
相關文章
- 模板處理
- Nuxt Kit 中的模板處理UX
- 怎樣處理包含的動態模板
- spring-boot-note4---freemarketSpringboot
- HTML歷理 HTML模板HTML
- 多對一處理 和一對多處理的處理
- SpringBoot2 整合FreeMarker模板,完成頁面靜態化處理Spring Boot
- 下次想在Golang中寫個併發處理,就用這個模板,準沒錯!Golang
- JSP 異常處理如何處理?JS
- windows批處理之一:字串處理Windows字串
- 影像處理或其他多媒體處理中的值溢位處理
- PHP錯誤處理和異常處理PHP
- 處理百萬級以上的資料處理
- 事件處理事件
- 待處理
- Cookie處理Cookie
- gson 處理
- Office處理
- 處理交接
- clob處理
- 平滑處理
- 字串處理字串
- webgl 影像處理2---影像畫素處理Web
- APM RUEI processor處理程式hang死處理方法
- Apache Beam,批處理和流式處理的融合!Apache
- Python錯誤處理和異常處理(二)Python
- Python資料處理(二):處理 Excel 資料PythonExcel
- Python影像處理丨5種影像處理特效Python特效
- 【故障處理】一次RAC故障處理過程
- 【故障處理】CRS-1153錯誤處理
- Python自然語言處理 3 處理原始文字Python自然語言處理
- 【故障處理】ORA-19809錯誤處理
- Windows批處理學習(二)——批處理(3)薦Windows
- rust學習十、異常處理(錯誤處理)Rust
- PHP歷理 列表模板和標籤庫PHP
- PHP歷理 新增模板和標籤庫PHP
- PHP歷理 修改模板和標籤庫PHP
- Oracle SQL處理OracleSQL