在 Thymeleaf 中使用一个值作为另一个值的参数

Using a value as an argument into another value in Thymeleaf

所以假设我有一个 @ModelAttribute of userCredentials 这是一个 List<String> 对象。

我还有另一个 ModelAttribute 类型 Map<String,String>roles

我可以使用 ThymeleafHTML 中单独访问它们:

${userCredentials.contains('<Hardcoded-value>')}

我想要替换硬编码值并使用的问题,例如:

${userCredentials.contains('roles.client')}

你知道我怎样才能成功地将一个模型属性用作另一个模型属性的参数吗?它适用于硬编码值

您可以使用 Thymeleaf pre-processing:

${userCredentials.contains(__${roles.get('client')}__)}

Thymeleaf 在第一遍中执行预处理部分。所以它将替换那里的内容:

${userCredentials.contains(<result of roles.get() call here>)}

然后执行模板渲染。