![名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)](https://wfqqreader-1252317822.image.myqcloud.com/cover/154/29977154/b_29977154.jpg)
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=1738890545-53Mq9ImojGIwT98AEvPvq0hpOMzSi01N-0-a231f01174ff9d59ae83ca67a1af3f9b)
2.【mldnboot-thymeleaf项目】如果传递的是Set集合,也可以利用Set接口中的contains()方法判断某个值是否存在。
在ThymeleafController控制器中追加一个新的方法,利用Set传递属性。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P53_10955.jpg?sign=1738890545-QzMz29ooL1VHGu8kiez0Gb3g5DNGGwsJ-0-13ce4bd940c7691b60b5ccde134db7f1)
建立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=1738890545-VlfaZARuXe2l4mXDQ6lqEUBPmG5evIPG-0-a8cffc0400c1f5a46d466aed8cae5ed8)
图3-16 判断Set集合是否有指定数据
3.【mldnboot-thymeleaf项目】在进行数据处理的时候,也可以直接使用字符串String类中定义的方法。
在ThymeleafController控制器中追加一个新的方法,用于传递字符串属性。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P54_10958.jpg?sign=1738890545-5cZvCSwWi9uiF5HXHWDwR5Myd2XXQXmf-0-1462c4ed250b07e384e432037b11649f)
建立src/main/view/templates/message/message_string.html页面,以处理字符串。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P54_10960.jpg?sign=1738890545-0Lzpk9sO3cIlmGjIxJ6hibMLshn4JfxV-0-269ce285f82ee92d41ee8ef90e285a0f)
在进行字符串数据处理时,可以直接使用控制器传递过来的属性,也可以直接定义具体的字符串内容。本程序处理后的结果如图3-17所示。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P54_2510.jpg?sign=1738890545-lvIEiBUu64DN5N9yTDMtgR1iC45n7MA1-0-d83d14c98e6e2cfa180dc5559a5844c0)
图3-17 字符串处理
4.【mldnboot-thymeleaf项目】在Thyemeleaf中还可以对输出的日期类型进行格式化处理。
在ThymeleafController控制器中追加一个新的方法,用于传递Date属性。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P54_10962.jpg?sign=1738890545-lKAMLpHxsyzcf2A5PlAXpVZqdSpPIrsP-0-4eb25e8a97db3ca666c669727bcd5524)
建立src/main/view/templates/message/message_date.html页面,以格式化日期显示。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P54_10964.jpg?sign=1738890545-0rlKuPyXq2jw4len7vykCL6QdnvGIgH0-0-8d6f12e6444d4b49343af2b517967b7d)
本程序使用两种方式实现了日期时间的格式化处理,页面运行效果如图3-18所示。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P54_2513.jpg?sign=1738890545-Aqdqo6OtuoErT5qCW66h9AD46C45kgqK-0-a1c6077c577fa93c970c454a496fa6f3)
图3-18 格式化日期时间