第1集 新版SpringBoot2.x的starter和常⻅模板引擎讲解
简介:介绍常⽤的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 内存 )permSizejavaweb 官⽅推荐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 ,⽣产建议为 truespring.freemarker.cache=falsespring.freemarker.charset=UTF-8spring.freemarker.allow-request-override=falsespring.freemarker.check-template-location=true# 类型spring.freemarker.content-type=text/htmlspring.freemarker.expose-request-attributes=truespring.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>