第⼗章 新版SpringBoot2.X 整合模板引擎thymeleaf和Fk

该系列教程介绍了SpringBoot2.x中常用的模板引擎,包括JSP、Freemarker和Thymeleaf。JSP虽然官方不推荐,但仍是传统的后端渲染技术。Freemarker是一个不依赖Servlet容器的模板引擎,而Thymeleaf则被主推,可以直接在浏览器中预览模板页面。教程详细讲解了Freemarker和Thymeleaf的配置及实战应用。
摘要由CSDN通过智能技术生成

1集 新版SpringBoot2.xstarter和常⻅模板引擎讲解

简介:介绍常⽤的SpringBoot2.x模板引擎和官⽅推荐案例

SpringBoot2.X常⽤start介绍

        starter主要简化依赖⽤的
                spring-boot-starter-web->⾥⾯包含多种依赖
                查看 pom⽂件 spring-boot-starter-parent -> spring-boot-dependencies ⾥⾯综合的
                很多依赖包
⼏个常⽤的 starter

  • JSP(后端渲染,消耗性能)
Java Server Pages 动态⽹⻚技术 , 由应⽤服务器中的 JSP 引擎来编译和执⾏,再将⽣成的整个⻚
⾯返回给客户端
可以写 java 代码
持表达式语⾔( el jstl
内建函数
JSP->Servlet( 占⽤ JVM 内存 )permSize
javaweb 官⽅推荐
springboot 官⽅不推荐

  •  Freemarker
FreeMarker Template Language FTL ) ⽂件⼀般保存为 xxx.ftl
严格依赖 MVC 模式,不依赖 Servlet 容器(不占⽤ JVM 内存)
内建函数

  • Thymeleaf (主推) 

轻量级的模板引擎(复杂逻辑业务的不推荐,解析 DOM 或者 XML 会占⽤多的内存)
可以直接在浏览器中打开且正确显示模板⻚⾯
直接是 html 结尾,直接编辑 xdlcass.net/user/userinfo.html
社会⼯程学伪装

2 SpringBoot2.X整合模板引擎freemarker实战 

简介:SpringBoot2.x整合模板引擎freemarker实战

Freemarker相关的maven依赖

<!--引入freemarker动态模板引擎的依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

Freemarker基本配置,配置到resources目录下application.properties配置中 

# 是否开启 thymeleaf 缓存 , 本地为 false ,⽣产建议为 true
spring.freemarker.cache=false
spring.freemarker.charset=UTF-8
spring.freemarker.allow-request-override=false
spring.freemarker.check-template-location=true
# 类型
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=true
spring.freemarker.expose-session-attributes=true
# ⽂件后缀
spring.freemarker.suffix=.ftl
# 路径
spring.freemarker.template-loader-path=classpath:/templates/

 3 SpringBoot2.X整合模板引擎thymeleaf实战

 讲解:SpringBoot2.x整合模板引擎thymeleaf实战

官⽹地址: https://www.thymeleaf.org/doc/articles/thymeleaf3migration.html

 thymeleaf相关maven依赖

<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/
#编码
spring.thymeleaf.encoding=UTF-8
#类型
spring.groovy.template.content-type=text/html
#名称的后缀
spring.thymeleaf.suffix=.html

测试Controller:

@Controller
@RequestMapping("thymeleaf")
public class thymeleafController {
    @Autowired
    private WXConfig wxConfig;

    @GetMapping("test") 
    public String index(ModelMap modelMap){ //跳转到t1目录下index.html文件下

        modelMap.addAttribute("Setting",wxConfig);
        return "t1/index";
    }
}

pay.priperties文件:

#使用value映射配置文件
#微信支付的appid
wxpay.appid = w232323

#支付密钥
wxpay.secret = sdfddfg

#微信支付商户号
wx.mechid = id234532

 

微信实体配置类:

 

/**
 * 使用实体类,映射配置文件
 */
//设置成配置文件
@Configuration
//配置文件地址
@PropertySource(value = "classpath:Pay.properties")
public class WXConfig {
    @Value("${wxpay.appid}")
    public String payAppid;
    @Value("${wxpay.secret}")
    private String paySecret;
    @Value("${wx.mechid}")
    private String payMechid;

    public String getPayAppid() {
        return payAppid;
    }

    public void setPayAppid(String payAppid) {
        this.payAppid = payAppid;
    }

    public String getPaySecret() {
        return paySecret;
    }

    public void setPaySecret(String paySecret) {
        this.paySecret = paySecret;
    }

    public String getPayMechid() {
        return payMechid;
    }

    public void setPayMechid(String payMechid) {
        this.payMechid = payMechid;
    }
}

index.html路径 

引用thymeleaf:

 

<!DOCTYPE html>
<html xmlns:th="http://www/thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>index.html</title>
</head>
<body>
测试thymeleaf数据
微信id:<p th:text ="${Setting.payAppid}"></p>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值