Thymeleaf

x33g5p2x  于2021-11-21 转载在 其他  
字(2.5k)|赞(0)|评价(0)|浏览(363)

概述:

Thymeleaf 对网络环境不存在严格的要求,既能用于 Web 环境下,也能用于非 Web 环境下。在非 Web 环境下,他能直接显示模板上的静态数据;在 Web 环境下,它能像 Jsp 一样从后台接收数据并替换掉模板上的静态数据。它是基于 HTML 的,以 HTML 标签为载体,Thymeleaf 要寄托在 HTML 标签下实现。

变量表达式

th:text="" 是 Thymeleaf 的一个属性,用于文本的显示

标准变量表达式${…} 语法
${变量名} 的方式获取 Controller 中 model 其中的数据

选择变量表达式{…}*
选择变量表达式,也叫星号变量表达式,使用 th:object 属性来绑定对象,选择变量表达式在执行时是在选择的对象上求解,而${…}是在上下文的变量 Model 上求解

url路径表达式@{…}
传统引入jquery

<script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>

常见属性

th:inline 有三个取值类型 (text, javascript 和 none),值为 none 什么都不做,没有效果

内敛文本(th:inline=”text”)
内敛文本表达式不依赖于 html 标签,直接使用内敛表达式表达式即可获取动态数据,但必须要求在父级标签上加 th:inline = “text”属性

内敛脚本(th:inline=”javascript”)
th:inline=”javascript”在 js 代码中获取后台的动态数据

字面量

Thymaleaf 表达式基本对象

模板引擎提供了一组内置的对象,这些内置的对象可以直接在模板中使用,这些对象由#号开始引用,我们比较常用的内置对象

#request
#request 相 当 于 httpServletRequest 对 象 , 这 是 3.x 版 本 , 若 是 2.x 版 本 使 用
#httpServletRequest,在页面获取应用的上下文根,一般在 js 中请求路径中加上可以避免 404

#session

综合案例

采用 SpringBoot + Dubbo + MyBatis + Redis + Thymeleaf 实现对数据库的增删改查、缓存操作。

1.创建父工程,管理下面dubbo三个模块

2.创建dubbo的三个工程,接口工程是普通java,父亲选择前面那个工程,消费者,提供者正常的springboot项目

3.改父工程,因为springboot本身有父工程,要改成我们的
1)让父工程变成一个springboot工程,把provider的springboot起步依赖拷过去
2)将消费者提供者的parent换成接口工程的父
3)删除提供者的groupid和version,消费者的groupid和version和descirption?
4)将消费者提供者的编译1.8删了拷贝到父工程就行了
5)因为我们的父工程已经改成springboot工程了,所以不用管thymeleaf这些依赖的版本了
6)提供者需要dubbo,zookeeper,mybatis,mysql,redis,接口工程这些依赖,两个resources
7)消费者需要dubbo,zookeeper,接口工程,thymeleaf依赖

4.mybatis逆向工程
1)GeneratorMapper文件复制到提供者,改内容(不改表的话改一处)
2)插件添加到pom文件中
3)接口工程一定先installed一下,还有父工程!!!!
4)双击生成

5.配置核心配置文件
1)提供者

server.port=8081
server.servlet.context-path=/

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xrh?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=666

spring.application.name=030-02-springboot-dubbo-ssm-provider
spring.dubbo.server=true
spring.dubbo.registry=zookeeper://192.168.72.129:2181

spring.redis.host=192.168.72.129
spring.redis.port=6379
spring.redis.password=666

2)消费者

server.port=8080
server.servlet.context-path=/

spring.application.name=030-03-springboot-dubbo-ssm-consumer
spring.dubbo.registry=zookeeper://192.168.72.129:2181

spring.thymeleaf.cache=false
spring.thymeleaf.prefix=classpath:/templates
spring.thymeleaf.suffix=.html

server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
server.servlet.encoding.charset=UTF-8

6.写代码

1)消费者
2)提供者

SpringBoot 项目热部署

热部署是指当我们修改代码后,服务能自动重启加载新修改的内容,而不需要重启应用,这样大大提高了我们开发的效率。通常适用于修改页面之后不需要重启服务

相关文章