Java 通過使用freemarker,動態填充字串模板
阿新 • • 發佈:2019-01-26
一、通過使用freemarker標籤,實現動態填充字串模板,到maven倉庫選擇需要的版本下載:freemarker.jar
二、example:
import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import java.util.HashMap; import java.util.Map; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; public class StrTemplate { public static void main(String[] args) throws IOException, TemplateException{ String StrTemplate = "姓名:${name};年齡:${age}"; // 測試模板資料(一般儲存在資料庫中) Map<String,Object> map = new HashMap<String,Object>(); // map,需要動態填充的資料 map.put("name", "張三"); map.put("age", "25"); String resultStr = process(StrTemplate, map, null); // 解析字串模板的方法,並返回處理後的字串 System.out.println(resultStr); } /** * 解析字串模板,通用方法 * * @param template * 字串模板 * @param model; * 資料 * @param configuration * 配置 * @return 解析後內容 */ public static String process(String template, Map<String, ?> model, Configuration configuration) throws IOException, TemplateException { if (template == null) { return null; } if (configuration == null) { configuration = new Configuration(); } StringWriter out = new StringWriter(); new Template("template", new StringReader(template), configuration).process(model, out); return out.toString(); } }
三、輸出結果: