freemarker是一款模板引擎,适用于mvc框架
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
配置信息
spring.freemarker.allow-request-override=false
# 关闭缓存
spring.freemarker.cache=false
spring.freemarker.check-template-location=true
spring.freemarker.charset=UTF-8
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.freemarker.expose-spring-macro-helpers=false
#spring.freemarker.prefix=
#spring.freemarker.request-context-attribute=
#spring.freemarker.settings.*=
#文件后缀名
#spring.freemarker.suffix=.ftl
#spring.freemarker.template-loader-path=classpath:/templates/ #comma-separated list
#spring.freemarker.view-names= # whitelist of view names that can be resolved
使用
- 基本使用
<h1>Hello , ${name}</h1>
Controller.java
public ModelAndView view(){
ModelAndView mv = new ModelAndView("hello");
mv.addObject("name","xxx");
return mv;
}
- 循环
<#list studentList as student>
${student.id}/${studnet.name}
</#list>
下标
<#list studentList as student>
${student_index}
</#list>
- 判断
<#if student_index % 2 == 0>
<#else>
</#if>
- 日期格式化
日期:${date?date}
时间:${date?time}
日期时间:${date?datetime}
自定义格式:${date?string("yyyyMM/dd HH:mm:ss")}
- null处理
${name!"默认..."}
判断
<#if name??>
<#else>
</#if>
- 包含其他
<#include "hello.ftl"/>