- 名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)
- 李兴华
- 373字
- 2021-03-26 11:42:24
3.9 数据迭代处理
数据迭代显示是显示层的一个重要技术手段,在Thymeleaf模板中可以使用th:each指令实现List与Map集合的迭代输出。
1.【mldnboot-thymeleaf项目】在ThymeleafController控制器中追加一个方法,该方法将创建一个List集合,随后通过request属性传递到页面。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P49_10937.jpg?sign=1739227208-FDVAdBeH2HRPmQX2s2XX7aQ7UrkY6WHl-0-7e46e12d98bd47f453d41584d145bc6f)
2.【mldnboot-thymeleaf项目】建立src/main/view/templates/message/message_list.html页面。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P50_10940.jpg?sign=1739227208-C7GAzFH2XCn9HJoOJKip6ZoRcrioAzPD-0-3f01fe970f30c66d15789603728e1308)
本程序在页面中使用了th:each指令进行List集合输出,而后将每一次迭代的结果都赋值给member对象,并将每一次迭代的基本信息都赋值给memberStat对象(可根据需要选择是否要使用此对象),这样就可以实现List集合显示,页面运行效果如图3-13所示。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P50_2460.jpg?sign=1739227208-yYmHhYbGt9wochKaCEbjSkblzC0WwJO8-0-e417a2666e3d5d42c1c1f8a07113123e)
图3-13 迭代输出List集合
除了支持List集合输出之外,也可以采用同样的形式实现Map集合的输出。
3.【mldnboot-thymeleaf项目】在ThymeleafController控制器中追加Map集合设置。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P50_10942.jpg?sign=1739227208-7hnPy6gCjEoV85nJFT4TgMCghvSLoBpn-0-bfe62dd4a8d3ede4f320407580e7b99f)
4.【mldnboot-thymeleaf项目】建立src/main/view/templates/message/message_map.html页面。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P51_10945.jpg?sign=1739227208-Jm7g5Ol6yF71jzoKu3yGTWYWOeYP8EcU-0-907bbfb16c2a4cd4ae3a6062d935f714)
在进行Map集合输出时,每一次迭代所取出的对象类型都是Map.Entry接口实例,所以本程序使用memberEntry接收该接口对象,随后输出每一个Map.Entry对象中所保存的key与value信息,页面运行效果如图3-14所示。
![](https://epubservercos.yuewen.com/688FD1/16499866904818506/epubprivate/OEBPS/Images/Figure-P51_2469.jpg?sign=1739227208-xWhTTIPfSQ0gLGA0zyUZcAlRpCVlCG5H-0-6e4774589120eb1d0f17bfefd89cde2b)
图3-14 输出Map集合