From 881f273bca0f94345efb2c0cac52279af4a7f4e4 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 24 九月 2021 15:16:08 +0800 Subject: [PATCH] 后台管理自动化代码生成 --- src/main/java/org/yeshi/utils/FreemarkerUtils.java | 29 +++++++++++++++++++++++++++-- 1 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/yeshi/utils/FreemarkerUtils.java b/src/main/java/org/yeshi/utils/FreemarkerUtils.java index 7227ce3..c552804 100644 --- a/src/main/java/org/yeshi/utils/FreemarkerUtils.java +++ b/src/main/java/org/yeshi/utils/FreemarkerUtils.java @@ -6,6 +6,8 @@ import org.apache.commons.io.IOUtils; import java.io.*; +import java.util.Iterator; +import java.util.List; import java.util.Map; public class FreemarkerUtils { @@ -54,17 +56,40 @@ return generateString(data, str); } + + public static String generateInputStream(Object data, String name, Map<String, InputStream> templateStreams) throws IOException { + String result = null; + try { + StringTemplateLoader stringTemplateLoader = new StringTemplateLoader(); + for (Iterator<String> its = templateStreams.keySet().iterator(); its.hasNext(); ) { + String key = its.next(); + stringTemplateLoader.putTemplate(key, IOUtils.toString(templateStreams.get(key), "UTF-8")); + } + cfg.setTemplateLoader(stringTemplateLoader); + Template template = cfg.getTemplate(name, defaultCharacter); + StringWriter out = new StringWriter(); + template.process(data, out); + out.flush(); + result = out.toString(); + out.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + /** * 灏嗘ā鏉挎覆鏌撲互鍚庝繚瀛樺埌鏂囦欢 * * @param templateFileDir 妯℃澘鐩綍 * @param templateFileName 妯℃澘鏂囦欢鍚嶇О * @param targetFilePath 娓叉煋鍚庢枃浠跺悕绉� - * @param data 鏁版嵁 + * @param data 鏁版嵁 * @return */ public static boolean renderingTemplateAndGenerateFile(String templateFileDir, - String templateFileName, String targetFilePath,Object data) { + String templateFileName, String targetFilePath, Object data) { boolean flag = true; try { // 璁剧疆鏂囦欢鎵�鍦ㄧ洰褰曠殑璺緞 -- Gitblit v1.8.0