繁体   English   中英

在 Thymeleaf 中动态创建变量

[英]Dynamically create variable in Thymeleaf

我在 ${object} 中有一个 object,在 ${attribute} 中有一个字符串。 例如,object 可能是“用户”,属性可能是“电子邮件”

现在我想访问 ${user.email}。 然而,这需要是动态的,因为它也应该适用于 ${article.name} 和其他任何东西。

我尝试了以下串联,但没有一个有效

${__${object.attribute}__}
${__${object}__.__${attribute}__}
 ${__${object}__+'.'+__${attribute}__}
${${object}+'.'+${attribute}}

你可以使用这个:

<div th:text="${object.__${attribute}__}"></div>

假设您有一个 model 包含以下测试数据:

User user = new User("John", "john.jones@foo.com"); // user has name and email
model.put("object", user);
model.put("attribute", "email");

这将产生:

<div>john.foo@bar.com</div>

唯一需要使用预处理器__${...)__的地方是attribute变量。

执行预处理后,您将得到以下 Thymeleaf 表达式:

<div th:text="${object.email}"></div>

然后将以通常的方式对其进行处理,以生成您需要的 HTML。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM