【问题标题】:Dynamic variable name with dashes in thymeleafthymeleaf 中带破折号的动态变量名
【发布时间】:2020-09-03 15:46:40
【问题描述】:

我正在尝试通过使用另一个变量作为前缀在 thymeleaf 中创建一个变量名:

th:with="appOverview = ${__${tabId}__AppOverview}"

它在大多数情况下都有效,但在 tabId 包含破折号(即“my-test-tab”)的情况下,thymeleaf 会引发以下异常:

“null”和“null”类型的对象之间不支持运算符“SUBTRACT”

我猜破折号让 thymeleaf 误以为它是不存在变量之间的算术运算。

我测试了使用 th:with="my-var='bad dashes'" 添加一个变量,它工作正常,所以我想破折号通常被接受为变量名中的字符。 p>

有没有办法解决这个问题?

【问题讨论】:

  • Thymeleaf 认为“-”是减号,而不是破折号,它会尝试减号。

标签: thymeleaf variable-names


【解决方案1】:

啊,终于找到了!

我缺少的是所有模型变量都存储在 #vars 对象的 thymeleaf 中,因此从那里访问它们不会混淆 thymeleaf。这是有效的:

th:with="appOverview = ${#vars.get('__${tabId}__AppOverview')}"

【讨论】:

    猜你喜欢
    • 2016-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多