分享的是《SpringBoot简明教程》,这篇给大家分享《快速入门springboot网页开发,Thymeleaf高级用法》。
Thymeleaf高级用法
1.模板布局
公共部分通常定义为模板布局:如页眉,页脚,公共导航栏、菜单等。
模板布局定义方法
布局页中用th:fragment定义模板片段,其他页面用th:insert引用片段
例如:footer.html,通过th:fragment定义一个模板片段
其他页面通过th:insert引用片段:
解释:
引例
footer.html页面代码:通过th:fragment定义片段名
index.html页面引用fragment:
简写形式:divth:insert=th/footer::copy/div
th:insert、th:replace、th:include区别
th:insert:插入片段,原来的标签(div、footer)还在
th:replace:用片段替换其主标签(div没有了)
th:include:类似于th:insert,但只插入片段的内容
(footer标签没有了)
说明:这三个运行结果表面看上去是相同的
带参数的引用片段
示例:
footer.html片段名中声明参数(类似函数定义)
index.html
2.表单验证
表单输入的信息通常需要进行验证,以及提供错误信息反馈。
验证相关的标签
(2)显示所有错误信息:遍历#fields.errors()
1)添加验证依赖
2)在实体类属性中添加约束
接快速入门springboot网页开发(一)创建的类
3)添加控制器代码
4)form.html主要代码
5)添加控制器代码
(1)使用对象封装前端传来的数据
(2)
Validated进行验证(3)BindingResult对象配合获取验证结果
(4)
ModelAttribute将数据添加到模型对象中,用于传回给form视图使用如果验证有错误信息,则将“stu”对象(由
ModelAttribute(“stu”)指定)返回form.html重新修改如果没有错误信息,则将“new_stu”对象返回save.html
解释:
最后效果还是很好的,
输入localhost:/edit进入表单提交页面,然后如果不符合在实体类属性中添加的约束的话就出现相应的报错信息,可以把报错信息统一改为红色便于识别,如果符合就跳转到save.html页面,这个save.html可以自由发挥
3.常用工具类
Thymeleaf提供了丰富的表达式工具类,例如(部分):
#strings:字符串工具类
#dates:时间操作和时间格式化
#numbers:格式化数字对象的方法
#bools:常用的布尔方法JavaEE架构
#strings工具类
字符串长度(length)
字符串转换(toString)
检查字符串是否为空(isEmpty)
字符串是为空替换操作(defaultString)
检查字符串中是否包含某个字符串(containscontainsIgnoreCase)
检查字符串是以片段开头还是结尾(startsWithendsWith)
截取(substringsubstringAftersubstringBefore)
替换(replace)
追加(prependappend)
变更大小写(toUpperCasetoLowerCase)
去空格(trim)
拆分和组合字符串(arrayJoinarraySplit)JavaEE架构
示例
#dates工具类
格式化操作(format)
获取日期属性操作(daymonthyearhourminutesecondmonthName
dayOfWeek)
生成日期操作(createNowcreatecreateToday)JavaEE架构
wustzz
示例
后台添加代码:model.addAttribute(“today”,newDate());
#numbers工具类
对不够位数的数字进行补0(formatInteger)
设置千位分隔符(formatInteger)
精确小数点(formatDecimal)
设置百分号(formatPercent)
生成数组(sequence)JavaEE架构
wustzz
示例
结果:.13
结果:1,.00
生成[0,1,2,3,4]数组
生成[0,2,4,6,8,10]数组
#bools工具类
判断对象是否为ture或false的操作:(isTrueisFalse)
数字1为ture,0为false;
“on”为true,“off”为false;
“true”为true,false为false;JavaEE架构
示例
以上就是《快速入门springboot网页开发,Thymeleaf高级用法》的分享。也欢迎大家交流探讨,该文章若有不正确的地方,希望大家多多包涵。创作不易,你们的支持就是我最大的动力,如果对大家有帮忙给个赞哦~~~