我是使用 Thymeleaf 的初学者。我有一个设置为上下文变量的对象。ctx.setVariable("name", myObject);
这个对象有几个属性,但我不能只使用选择它们
`名称.property1.subproperty1'
因为在某些时候我想渲染name.property1.subproperty
and name.property2.subproperty
在同一个模板中,我不想在模板中硬编码此选择,因为它可能会发生变化。
我正在考虑声明另一个上下文变量,例如:
String[] listOfProperties = {"property1", "property2"};
ctx.setVariable("properties", listOfProperties);
并在模板中执行类似的操作:
${myObject.?[listOfProperties[0]].subproperty1}
${myObject.?[listOfProperties[1]].subproperty2}
换句话说,我想从java代码控制要渲染的属性。
我有属性模板,并且不想为同一类型创建更多模板,因为如果我将属性模板包含到 myObject Template 中,它将仅呈现一次,这就是我选择这种方法的原因。
抱歉我不知道如何更好地解释...
谢谢。
使用以下语法(请参阅:4.12 预处理 http://www.thymeleaf.org/doc/html/Using-Thymeleaf.html#preprocessing):
${myObject.?__${listOfProperties[0]}__.subproperty1} ${myObject.?__${listOfProperties[1]}__.subproperty2}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)