- 名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)
- 李兴华
- 566字
- 2021-03-26 11:42:25
3.11 Thymeleaf数据处理
在Thymeleaf模板中还支持集合方法调用、字符串方法调用、日期格式化等操作。例如,在使用List集合的时候可以考虑采用get()方法获取指定索引的数据,那么在使用Set集合的时候会考虑使用contains()来判断某个数据是否存在,使用Map集合的时候也可以使用containsKey()判断某个key是否存在,以及使用get()根据key获取对应的value。
1.【mldnboot-thymeleaf项目】修改src/main/view/templates/message/message_map.html页面,调用Map方法。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P53_10953.jpg?sign=1739226438-zzuHDYJkBeq947VKgZNnMLJZUDpOVGf6-0-db37c147fec55c94831058b11f1963f4)
2.【mldnboot-thymeleaf项目】如果传递的是Set集合,也可以利用Set接口中的contains()方法判断某个值是否存在。
在ThymeleafController控制器中追加一个新的方法,利用Set传递属性。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P53_10955.jpg?sign=1739226438-Imqrnkr5iOZ9FmQOfPviarzxfA0OIkww-0-88af0aec702a76405ad7b03fde782986)
建立src/main/view/templates/message/message_set.html页面,判断某一个内容是否在集合中存在。
<p th:if="${#sets.contains(allInfos,'mldn')}">存在有“mldn”的信息!</p>
此时会判断在allInfos集合中是否存在mldn的内容,同时也可以利用size()方法获取集合长度,页面运行效果如图3-16所示。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P53_2497.jpg?sign=1739226438-vFuX27pT3HfbyeTDBIQ3cvdEdlyDDmHl-0-30c32d62b40b8011ece2b598fbae6333)
图3-16 判断Set集合是否有指定数据
3.【mldnboot-thymeleaf项目】在进行数据处理的时候,也可以直接使用字符串String类中定义的方法。
在ThymeleafController控制器中追加一个新的方法,用于传递字符串属性。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P54_10958.jpg?sign=1739226438-2GJEelYsaJQ722u1gekdq2guA6FEk24c-0-0b7eed75f5f086916f445a62ade1872e)
建立src/main/view/templates/message/message_string.html页面,以处理字符串。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P54_10960.jpg?sign=1739226438-4XDhuoY6Och8hSzjrzaPCiKXYmOOLOMV-0-cf60c6ff4749b1215da705a5614aca1c)
在进行字符串数据处理时,可以直接使用控制器传递过来的属性,也可以直接定义具体的字符串内容。本程序处理后的结果如图3-17所示。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P54_2510.jpg?sign=1739226438-CEv0CsJlQvw6zwzEOjlT2QQYi6ahXAT6-0-f747d140b7aad0f5c492ffa907b7d451)
图3-17 字符串处理
4.【mldnboot-thymeleaf项目】在Thyemeleaf中还可以对输出的日期类型进行格式化处理。
在ThymeleafController控制器中追加一个新的方法,用于传递Date属性。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P54_10962.jpg?sign=1739226438-c2GwcSsKCLMn3OU2giqEhMfNktqIgNPY-0-ef2f0af752fdbdb11cc05bee298f01ff)
建立src/main/view/templates/message/message_date.html页面,以格式化日期显示。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P54_10964.jpg?sign=1739226438-yqI5q6sqBuCdiccYiY6TOgVtBLrjvAuQ-0-6fd31cbbe1d7204c2d1252594221d3ea)
本程序使用两种方式实现了日期时间的格式化处理,页面运行效果如图3-18所示。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P54_2513.jpg?sign=1739226438-dPqujCQJoBhVgCvewpJ29vJV9hSoibaW-0-48c424c9d58a0d9cc4f4ea047ece8083)
图3-18 格式化日期时间