1,引入Freemarker依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2,创建Freemarker所需模板文件,*.ftl
* SpringBoot提供了Freemarker模板文件存储路径:classpath:/templates,模板文件存储到该路径后,SpringBoot框架会自动进行资源发现
* 自定义模板文件(此处说明问题为主),通过表达式注入两个参数
* java代码
package springboot.test2;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Map;
/**
* @author pj_zhang
* @create 2018-12-22 23:35
**/
@Controller
public class FreemarkerTest {
// 服务跳转, 此处不需要添加json返回的注解
@RequestMapping("/freemarker")
public String freemarker(Map<String, Object> map) {
map.put("name", "zpj");
map.put("age", 26);
// 直接返回ftl文件的文件名称, springboot内置会处理前后缀问题
return "index";
}
}
* 前台访问
* 如果存在静态资源,jsp文件,freemarker模板文件名称一致,且返回时没有对后缀进行处理,此时默认返回到freemarker模板进行处理。如果存在此情况,建议返回时添加文件后缀,尽量简易不要起相同名称,或者通过文件路径进行不同模块区分处理