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<String, Object> params){
|
Context context = new Context();
|
context.setVariables(params);
|
return templateEngine.process(template, context);
|
}
|
|
// 文件读取包装方法
|
public String renderPath(String path, Map<String, Object> 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){
|
}
|
}
|
};
|
}
|