引入pom
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
代码:文章来源:https://www.toymoban.com/news/detail-732821.html
import com.alibaba.fastjson.JSON;
import com.fuing.tea.commons.enums.TemplateEnum;
import freemarker.template.Configuration;
import freemarker.template.Template;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedWriter;
import java.io.File;
import java.io.StringWriter;
/**
* @author Garcia
* @date 2022/8/25 14:13
*/
public class FreemarkerUtil {
private static Configuration configuration;
private static final String BASE_PACKAGE_PATH = File.separator + "templates";
static Logger logger = LoggerFactory.getLogger(FreemarkerUtil.class);
static {
configuration = new Configuration(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS);
// 第二步:设置模板文件所在的路径。
configuration.setClassForTemplateLoading(FreemarkerUtil.class, BASE_PACKAGE_PATH);
// 第三步:设置模板文件使用的字符集。一般就是utf-8.
configuration.setDefaultEncoding("utf-8");
}
public static String createHtml(TemplateEnum tlf, Object model) throws Exception {
logger.info("根据模板生成内容, 模板:{}, model={}", tlf.getName(), JSON.toJSONString(model));
StringWriter sw = null;
BufferedWriter writer = null;
try {
Template template = configuration.getTemplate(tlf.getName());
sw = new StringWriter();
writer = new BufferedWriter(sw);
template.process(model, writer);
}finally {
if (sw!=null){
sw.close();
}
if (writer!=null){
writer.close();
}
}
return sw.toString();
}
}
/**
* @author Garcia
* @date 2022/8/25 14:18
*/
public enum TemplateEnum {
/**
* 报告模板
*/
REVIEW_REPORT("reviewTemplate.ftl","报告模板");
private String name;
private String desc;
TemplateEnum(String name, String desc){
this.name = name;
this.desc = desc;
}
public String getName() {
return name;
}
}
具体怎么使用,需要自己看解析方式文章来源地址https://www.toymoban.com/news/detail-732821.html
到了这里,关于springboot使用Freemark生成动态页面工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!