SpringBoot:整合Freemarker

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模板进行处理。如果存在此情况,建议返回时添加文件后缀,尽量简易不要起相同名称,或者通过文件路径进行不同模块区分处理

猜你喜欢

转载自blog.csdn.net/u011976388/article/details/85227261