gpt4 book ai didi

spring - Thymeleaf:动态构建变量名

转载 作者:行者123 更新时间:2023-12-05 02:12:48 24 4
gpt4 key购买 nike

我正在尝试通过连接变量的值并在之后添加一些字符串来动态构建 var 的名称,因为我在运行时添加了这些变量。像下面这样的东西应该起作用,但它不起作用。

th:text="${__#{myClass.getA().getB()}+'-result'__}"

这甚至可以做到吗?我不知道变量的名称,不幸的是我只能这样构造它。

最佳答案

是的,这是可能的,Thymeleaf 支持表达式预处理:

让我们从一些例子开始:message(i18n) 表达式应该使用# 字符引用。因此,假设您的翻译文件中有 message.key。要在 Thymeleaf 中引用它,您必须使用

th:text="#{message.key}"

在您的场景中,您的键名是基于变量动态生成的,因此要在 thymeleaf 中对其进行预处理,您需要使用两个下划线 __

假设在您的上下文中,您有一个名为 myModelVariable 的模型变量,其方法为 messagePrefix()。我们的示例变为:

th:text="#{__${myModelVariable.messagePrefix()}__}"

这意味着 myModelVariable.messagePrefix() 将首先被处理,结果将用作键名,然后解析为用户友好的消息。

如果你还想在末尾添加一个静态部分,它将如下所示:

th:text="#{__${myModelVariable.messagePrefix()}__}+'*'"

即使键也可以包含静态部分,所以这也被接受:

th:text="#{__${myModelVariable.messagePrefix()}__.staticsuffix}+'*'"

您可以在此处的第 2.7 节中找到更多信息: https://www.thymeleaf.org/doc/articles/standarddialect5minutes.html

关于spring - Thymeleaf:动态构建变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55473381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com