美文网首页
springboot整合模板引擎

springboot整合模板引擎

作者: 泥煤的嘎嘎 | 来源:发表于2019-03-31 19:04 被阅读0次

整合freemarker

  • 引入pom文件
<!--springboot 模板引擎 freemarker-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>
  • 在application.properties进行相关配置
# 整合freemarker相关配置
# 是否开启thymeleaf缓存,本地建议为false,生产上建议为true
spring.freemarker.cache=false
spring.freemarker.charset=utf-8
# 指定HttpServletRequest的属性是否可以覆盖controller的model的同名项
spring.freemarker.allow-request-override=false
# 指定HttpSession的属性是否可以覆盖controller的model的同名项
spring.freemarker.check-template-location=true
# 类型
spring.freemarker.content-type=text/html
# 设定所有request的属性在merge到模板的时候,是否要都添加到model中
spring.freemarker.expose-request-attributes=true
# 设定所有HttpSession的属性在merge到模板的时候,是否要都添加到model中
spring.freemarker.expose-session-attributes=true
# 文件后缀
spring.freemarker.suffix=.ftl
# 路径
spring.freemarker.template-loader-path=classpath:/templates/
  • 建立文件夹
    src/main/resources/templates/fm/user/
    ② 建立一个index.ftl
    ③ user文件夹下建立一个user.html
  • 代码测试 访问freemarker页面 (http://localhost:8088/freemarker/index
@Controller
@RequestMapping("/freemarker")
public class FreeMarkerController {

    @Resource
    private SystemConfig systemConfig;

    @GetMapping("/index")
    public String index(ModelMap modelMap) {
        // 添加属性 ——> 在freemarker中取值
        modelMap.addAttribute("setting", systemConfig.getTestNum());

        // 无需加后缀 前缀在配置文件中已经添加  classpath:/templates/
        return "fm/index";
    }

}

# 在freemarker中取出上面的setting值
<h1>配置文件环境: ${setting}</h1>

整合thymeleaf

  • 引入pom文件
<!--springboot 模板引擎 thymeleaf-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
  • 配置文件
# 整合thymeleaf相关配置
# 开发时关闭缓存 不然没法看到实时画面
spring.thymeleaf.cache=false
spring.thymeleaf.mode=HTML5
# 前缀
spring.thymeleaf.prefix=classpath:/templates/tl/
# 编码
spring.thymeleaf.encoding=UTF-8
# 类型
spring.thymeleaf.servlet.content-type=text/html
# 后缀
spring.thymeleaf.suffix=.html
  • 建立文件夹
    src/main/resources/templates/tl/
    ② 建立一个index.ftl

  • 代码测试

@Controller
@RequestMapping("/thymeleaf")
public class ThymeleafController {

    @Resource
    private SystemConfig systemConfig;

    @GetMapping("/index")
    public String index(ModelMap modelMap) {
        // 添加属性 ——> 在thymeleaf中取值
        modelMap.addAttribute("setting", systemConfig.getTestNum());

        // 无需加前后缀 已在配置文件中已经添加  classpath:/templates/tl/
        return "index";
    }

}

# html中取值 $表达式只能写在th语法内部
<h1 th:text="${setting}">aws</h1>

如何让新建的resources下文件夹变成springboot能够直接访问的文件夹

# 默认springboot能够访问的文件夹(将模板加入能够直接访问的文件夹下)
spring.resources.static-locations=classpath:/templates/

相关文章

网友评论

      本文标题:springboot整合模板引擎

      本文链接:https://www.haomeiwen.com/subject/blvubqtx.html