package com.sandu.ximon.admin.utils; import java.io.*; import java.util.Map; import org.springframework.core.io.ClassPathResource; import org.thymeleaf.TemplateEngine; import org.thymeleaf.context.Context; /** * @program: machine-fast * @description: thymeleaf渲染工具类 * @author: YSS * @create: 2019-09-09 17:55 **/ public class HtmlTemplateUtils { private final TemplateEngine templateEngine = new TemplateEngine(); // 解析模板 public String render(String template, Map params){ Context context = new Context(); context.setVariables(params); return templateEngine.process(template, context); } // 文件读取包装方法 public String renderPath(String path, Map params){ InputStream inputStream = null; InputStreamReader inputStreamReader = null; BufferedReader bufferedReader = null; String body = ""; try { // File file = ResourceUtils.getFile(path); ClassPathResource classPathResource = new ClassPathResource(path); inputStream = classPathResource.getInputStream(); inputStreamReader = new InputStreamReader(inputStream, "utf-8"); bufferedReader = new BufferedReader(inputStreamReader); String s = ""; while ((s = bufferedReader.readLine()) != null){ body += s + "\n"; } return this.render(body, params); } catch (IOException e) { return body; }finally { try{ if(bufferedReader != null){ bufferedReader.close(); } if(inputStreamReader != null){ inputStreamReader.close(); } if(inputStream != null){ inputStream.close(); } }catch (IOException e){ } } }; }