SpringBoot整合模板引擎Thymeleaf(2)

  本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl Thymeleaf十分类似于JSP中使用的EL表达式。整体而言,Thymeleaf简洁、优雅、高效;非常适合小型项目的快速开发。

  在此,概要介绍Thymeleaf常用标签。

  标签功能示例th:text显示文本th:utext显示文本(对特殊标签不转义)th:value为表单元素的value属性赋值th:if判断条件th:each元素遍历th:id标记控件th:object替换对象th:with变量赋值(定义局部变量)th:style设置样式th:onclick点击事件th:unless和th:if判断相反th:href链接地址th:switch多路选择,配合th:case 使用th:caseth:switch的一个分支th:fragment片段声明th:include片段包含th:insert片段插入th:replace片段替换th:selected选中th:src外部资源地址th:inline定义js脚本可以使用变量th:action表单提交地址th:remove删除某个属性th:attr设置标签属性,多个属性可以用逗号分隔 在此,详细介绍Thymeleaf常用表达式。

  语法说明作用${…}变量表达式取出上下文变量的值*{…}选择变量表达式取出选择的对象的属性值#{…}消息表达式使文字消息国际化@{…}链接表达式用于表示超链接地址~{…}片段表达式引用公共的代码片段 变量表达式用于从上下文获取变量值。

  示例如下:

  选择变量表达式用于从被选择的对象获取属性值。

  示例如下:

  等同于:

  消息表达式主要用于国际化。稍后,再详细介绍。

  链接表达式用于处理 URL 链接地址。链接地址可以是相对地址,也可以是绝对地址亦可以在地址中携带参数。

  在实际开发过程中,我们通常使用链接表达式实现链接、引入CSS、引入JS。

  示例如下:

  片段表达式用于引用一段公共的 HTML 代码片段。常用th:insert和th:replace引用公共的代码片段;两者的区别在于:th:insert是直接将代码片段插入到标签体内,而th:replace则是用代码片段直接替换标签体内容。

  在这里插入图片描述

  Thymeleaf常见的行内写法有两种:

  [[…]] 等效于 th:text

  [(…)] 等效于th:utext

  在实际开发过程中,我们通常使用"[[@{/}]]"在前端页面获取项目名

  示例如下:

  在此,以示例形式详细介绍Thymeleaf核心技术。

  要点概述:

  1、static文件夹用于存放静态资源,例如:css文件、js文件、图片。2、templates用于存放使用了Thymeleaf的html文件。3、entity包用于存放实体,例如:User、Student等。

  在这里插入图片描述 请在pom.xml文件中添加如下依赖。

  请在application.properties文件添加以下配置。

  在User中其birthday字段类型为java.util.Date。

  在这里插入图片描述

  在此,详细介绍Thymeleaf常用标签

  在这里插入图片描述

  http://localhost:8080/MyController1/test1

  该标签用于显示普通文本。

  Controller中代码如下:

  html中代码如下:

  该标签用于条件判断。当判断的结果为true时显示元素;反之,不显示。

  Controller中代码如下:

  html中代码如下:

  该标签用于显示带有网页标签的文本。

  Controller中代码如下:

  html中代码如下:

  该标签用于为标签value属性传递值。

  Controller中代码如下:

  html中代码如下:

  将对象保存至Request域并在html文件中获取。

  传递Student Controller中代码如下:

  html中代码如下:

  在html页面中通过的方式获取相应的值。

  传递User Controller中代码如下:

  html中代码如下:

  利用Spring Boot自带工具类#dates格式化日期。

  Controller中代码如下:

  html中代码如下:

  在html中利用th:each遍历集合,语法如下:

  1、集合表示待遍历集合2、元素表示遍历过程中得到的当前元素3、state表示当前元素和集合的状态 在之前的示例中,均是把数据保存到Request域。除此以外,我们还可以将

  数据至Session域和Application域。

  在这里插入图片描述

  http://localhost:8080/MyController2/test2

  Controller中代码如下:

  html中代码如下:

  在前端页面中通过的方式获取数据。

  Controller中代码如下:

  html中代码如下:

  在前端页面中通过的方式获取数据。

  在之前的示例中,均是把数据保存到Request域、Session域、Application域。除此以外,还可以利用Model保存数据

  在这里插入图片描述

  http://localhost:8080/MyController3/test3

  在Spring Boot + Thymeleaf 的开发环境中通常利用 return "redirect:Controller"的方式进行重定向。也就是说:利用redirect重定向至其它Controller。

  需要注意的是:在进行重定向时不可利用Request和Model保存数据;而应该使用Session和Application域保存数据。否则,重定向之后的页面无法获取数据进行显示。

  在这里插入图片描述

  http://localhost:8080/MyController4/testRedirect

  在Spring Boot + Thymeleaf 的开发环境中通常利用 return "forward:Controller"的方式进行请求转发。也就是说:利用forward请求转发至其它Controller。

  在这里插入图片描述

  http://localhost:8080/MyController5/test5

  在开发中,常需要引入已经定义好的静态资源,例如:css、js、图片。

  引入css,语法如下:

  引入js,语法如下:

  引入图片,语法如下:

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  http://localhost:8080/MyController6/test6