- 整合jsp
- 整合freemarker
- 整合thymeleaf(重点)
一、SpringBoot 整合 jsp 技术
1、创建maven项目
2、导入相关依赖
3、创建 springBoot 的全局配置文件,application.propertie
4、创建controller
5、创建jsp
6、创建启动类
二、SpringBoot整合Freemarker
1、这里只需要在原有SpringBoot项目的基础上加上freemarker的相关依赖
2、编写视图,注意:Freemarker模板引擎的文件后缀名字是.ftl
3、创建Controller
4、创建启动器
三、SpringBoot整合Thymeleaf(重点)
1、同样、这里只需要在原有SpringBoot项目的基础上加上Thymeleaf的相关依赖
(1)创建存放视图的目录
目录位置:src/main/resources/templates templates:
该目录是安全的。意味着该目录下的内容是不允许外界直接访问的
2、Thymeleaf 的基本使用
(1)Thymeleaf特点
Thymelaef 是通过他特定语法对 html 的标记做渲
(2)编写 Controller
(3)创建视图
(4)编写启动类启动
(5)注意:如果在使用SpringBoot在页面开发时,没有th的相关提示,那么只要在html标签添加对应的Thymeleaf提示即可
3、Thymeleaf 语法详解
(1)变量输出与字符串操作
th:text | 在页面中输出值 |
---|---|
th:value | 可以将一个值放入到 input 标签的 value 中 |
判断字符串是否为空
Thymeleaf 内置对象
注意语法:
1、调用内置对象一定要用#
2、大部分的内置对象都以 s 结尾 strings、numbers、dates
${#strings.isEmpty(key)} | 判断字符串是否为空,如果为空返回 true,否则返回 false |
---|---|
${#strings.contains(msg,‘T’)} | 判断字符串是否包含指定的子串,如果包含返回 true,否则返回 false |
${#strings.startsWith(msg,‘a’)} | 判断当前字符串是否以子串开头,如果是返回 true,否则返回 false |
${#strings.endsWith(msg,‘a’)} | 判断当前字符串是否以子串结尾,如果是返回 true,否则返回 false |
${#strings.length(msg)} | 返回字符串的长度 |
${#strings.indexOf(msg,‘h’)} | 查找子串的位置,并返回该子串的下标,如果没找到则返回-1 |
${#strings.substring(msg,13)} ${#strings.substring(msg,13,15)} | 截取子串,用户与 jdkString 类下 SubString 方法相同 |
${#strings.toUpperCase(msg)} ${#strings.toLowerCase(msg)} | 字符串转大小写 |
(2)日期格式化处理
方法 | 说明 |
---|---|
${#dates.format(key)} | 格式化日期,默认的以浏览器默认语言为格式化标准 |
${#dates.format(key,‘yyyy-MM-dd HH:mm:ss’)} | 按照自定义的格式做日期转换 |
${#dates.year(key)}, ${#dates.month(key)}, ${#dates.day(key)} | year:取年,,Month:取月, Day:取日 |
(3)条件判断
th:if
th:switch
相应的Controller
(4)迭代遍历
th:each
th:each 状态变量
状态变量属性
1、index:当前迭代器的索引 从 0 开始
2、count:当前迭代对象的计数 从 1 开始
3、size:被迭代对象的长度
4、even/odd:布尔值,当前循环是否是偶数/奇数 从 0 开始
5、first:布尔值,当前循环的是否是第一条,如果是返回 true 否则返回 false
6、last:布尔值,当前循环的是否是最后一条,如果是则返回 true 否则返回 false
th:each 迭代 Map
上面的编写的内容都是公用一个User实体类
注意:这里飘红的原因是因为没有引入th的提示文件,但是自己经过引入之后发现entry.value会飘红,且运行成功页面后,无法显示期待的效果,然后试着把提示去除就可以了
(5)域对象操作
HttpServletRequest
HttpSession
ServletContext
(6)URL 表达式
- th:href
- th:src
- url 表达式语法
- 基本语法:@{}
1.URL 类型:
绝对路径
2.相对路径
1)相对于当前项目的根
2)相对于项目的上下文的相对路径
3.在 url 中实现参数传递,两种风格
对应的Controller