我是靠谱客的博主 美好菠萝,最近开发中收集的这篇文章主要介绍【踩错】thymeleaf多重${},觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

2021-07-03

今天遇到一个问题,thymeleaf接收到controller传递过来的model数据中,含有list和map结构的数据,在thymeleaf渲染数据的过程中,首先用th:each遍历list,取list中的元素作为map的键,然后从map中取出对应的value来。

想要在thymeleaf上渲染controller层传递过来的数据,需要使用${}来获取后台数据,例如contoller传递一个“user”到thymeleaf,需要在前端使用user.id,如下所示,可以获取到传递过来的参数。

<div th:text="${user.id}"></div>

有时候controller传递过来的是一个map、list结构的数据,并且需要通过遍历list来渲染界面,其中需要使用list中的元素来作为map的键,从而得到对应的值来渲染界面,那怎么办的呢?肯定是嵌套,例如下面这样

<span th:each="friend:${friends}">
<span th:each="msg:${msgMap[__${friend.id}__]}">
………………
</span>
</span>

但是三重嵌套呢?经过我实际测试,在渲染的时候是会报错的,不能三个 $ {}嵌套。这种情况就得另外想办法了。比如使用th:with来定义一个thymeleaf临时变量,替换掉一个${}的使用,这样就行了。

最后

以上就是美好菠萝为你收集整理的【踩错】thymeleaf多重${}的全部内容,希望文章能够帮你解决【踩错】thymeleaf多重${}所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部