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
最近更新旅游资讯
- 北京IN10018片II期临床试验-IN10018 或安慰剂联合PLD 治疗铂耐
- 重庆西南医院体检中心
- 价值理论论文范文
- 内娱出现第一个“侠女颜”!刚出道4天,小白花们慌了…
- 狗的射速又快又烫
- 震惊!原来我们那些年追过的电视剧三观如此畸形……
- 社区获得性肺炎合并脓毒症患者临床特征及死亡危险因素分析
- 笛安的“北京爱情故事”,满满的欲望和贪婪
- 读《金瓶梅》第13章:李瓶儿为何能看上西门庆?
- 十六岁高二学生没事时看看什么书好?
- 父母中毒而亡,警方问13岁女儿看到凶手没,女孩笑了:我就是凶手
- 别黑陈凯歌了,他有一部神作还不够吗?
- 高三沉沦观后感话题作文800字范文
- 思辨的张力
- 狐文化特辑【十三】狐妖余论:混迹红尘的修仙之狐——「仙狐」
- 喜欢K歌,看电影吗?这些英文一定要掌握!
- 21世纪最佳20部日本动画
- 中西方伦理思想发展比较研究
- 马鞍山人民医院医院历史
- 如何以「我穿越成了一个小妾(或通房丫头)」为题写一篇小说?
- 青海诗选刊 2017年第24期(总第36期)
- 吴军民
- 实用 | 教你如何做好校园景观!
- 无忧传媒三 片
- 《西游记》新解(十套珍稀古画插图)56:神狂诛草寇,道昧放心猿——遇强盗,唐僧软