JAVA FreeMarker工具類

来源:http://www.cnblogs.com/kangxu/archive/2017/01/04/6248747.html
-Advertisement-
Play Games

FreeMarkerUtil.java 使用方式 FreeMarkerUtilTester.java sms.flt 1 您的驗證碼是:${code}。請不要把驗證碼泄露給其他人。 運行結果 ...


FreeMarkerUtil.java

 1 package pers.kangxu.datautils.utils;
 2 
 3 import java.io.File;
 4 import java.io.StringWriter;
 5 import java.util.Map;
 6 
 7 import pers.kangxu.datautils.common.Constants;
 8 
 9 import freemarker.template.Configuration;
10 import freemarker.template.Template;
11 
12 /**
13  * 
14  * <b>
15  *    FreeMarkerUtil 模板工具
16  * </b>
17  * @author kangxu
18  *
19  */
20 public class FreeMarkerUtil {
21     
22     /**
23      * 
24      * TODO
25      * <br>
26      * @author kangxu2 2016-11-23
27      *
28      * @param fltFile  flt文件名
29      * @param templatePath flt文件路徑   src/template
30      * @param datas 數據集合
31      * @return
32      */
33     public static String geneFileStr(String fltFile,String templatePath,Map<String, Object> datas){
34         
35         Configuration cfg = new Configuration();
36         try {
37             cfg.setDirectoryForTemplateLoading(new File(templatePath));
38             Template template = cfg.getTemplate(fltFile,Constants.ENCODING);
39             template.setEncoding(Constants.ENCODING);
40             
41             StringWriter out = new StringWriter();  
42             
43             template.process(datas, out);  
44             
45             out.flush();
46             out.close();
47             
48             return out.getBuffer().toString();
49             
50             
51         } catch (Exception e) {
52             e.printStackTrace();
53         } 
54         
55         return null;
56         
57     }
58  
59 }

 使用方式 FreeMarkerUtilTester.java

 1 package pers.kangxu.datautils.test;
 2 
 3 import java.util.HashMap;
 4 import java.util.Map;
 5 
 6 import pers.kangxu.datautils.common.verifycode.BuildVerifyCode;
 7 import pers.kangxu.datautils.utils.FreeMarkerUtil;
 8 
 9 public class FreeMarkerUtilTester {
10 
11     public static void main(String[] args) {
12         Map<String, Object> datas = new HashMap<String, Object>();
13         datas.put("code", BuildVerifyCode.generateVerifyCode(4));
14         System.out.println(FreeMarkerUtil.geneFileStr("sms.flt","template",datas));
15     }
16 }

sms.flt

 1 您的驗證碼是:${code}。請不要把驗證碼泄露給其他人。 

運行結果

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一. 異常的定義 在《java編程思想》中這樣定義 異常:阻止當前方法或作用域繼續執行的問題。雖然java中有異常處理機制,但是要明確一點,決不應該用"正常"的態度來看待異常。絕對一點說異常就是某種意義上的錯誤,就是問題,它可能會導致程式失敗。之所以java要提出異常處理機制,就是要告訴開發人員,... ...
  • 一、回調機制概述 回調機制在JAVA代碼中一直遇到,但之前不懂其原理,幾乎都是繞著走。俗話說做不願意做的事情叫做突破,故誕生了該文章,算是新年的新氣象,新突破! 回調機制是什麼?其實回調機制一直在我們身邊存在著,只是我們習慣了存在就未曾察覺,懂得其原理就很簡單了。 先打個比方,設置場景如下,教師,成 ...
  • java,exe是java虛擬機 javadoc.exe用來製作java文檔 jdb.exe是java的調試器 javaprof,exe是剖析工具 解析一: sleep是線程類(Thread)的方法,執行此方法會導致當前此線程暫停指定時間,給執行機會給其他線程,但是監控狀態依然保持,到時後會自動恢復 ...
  • 因為第一次用這個新框架做項目,不太熟悉,就找了angular-cli這個腳手架來搭建項目。 安裝了好多次,看了好多博文(博客園、csdn、腳本之家等),終於成功了。 依據本寶寶幫多位小伙伴安裝成功的經驗,現總結安裝angular-cli過程如下: 1、設置淘寶鏡像,在 .npmrc文件(該... ...
  • 我們先實現從指定路徑讀取圖片然後輸出到頁面的功能。 先準備一張圖片imgs/dog.jpg。 file.js裡面繼續添加readImg方法,在這裡註意讀寫的時候都需要聲明'binary'。(file.js 在上一篇文章nodejs進階3-路由處理中有完整的內容) 伺服器創建代碼如下,註意在發送請求頭 ...
  • (譯者註:祝大家新年快樂,這次帶來《Django By Example》第四章的翻譯,這章非常的實用,就這樣) 第四章 創建一個社交網站 在上一章中,你學習瞭如何創建站點地圖(sitemaps)和feeds,你還為你的blog應用創建了一個搜索引擎。在本章中,你將開發一個社交應用。你會為用戶創建一些 ...
  • 一、PATHINFO功能簡述 搞PHP的都知道ThinkPHP是一個免費開源的輕量級PHP框架,雖說輕量但它的功能卻很強大。這也是我接觸學習的第一個框架。TP框架中的URL預設模式即是PathInfo模式。這個模式很強大,每當你訪問一個網站必然帶有一長串參數,但是太長又顯得不太友好。對於訪問一個以M ...
  • pom.xml testFreeMarker.flt 1 您好${name},現在在測試FreeMarker功能 FreeMarkerUtil.java TestController.java 運行結果 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...