Thymeleaf th:循环中的每个访问参数

问题描述 投票:0回答:2

我正在尝试在 html 表格中添加上标数字,该数字将显示在电子邮件中。

到目前为止我的代码如下:

<th:block th:each="param, rowStat: ${someList}">
    <th style="..." th:utext="#{some.translation(${param}, ${rowStat.count})}">superscript</th>
</th:block>

“someList”是一个简单的字符串列表,“some.translation”如下:

{0} (moreInfo)<sup>{1}</sup>

我想要实现的目标是:

字符串1(更多信息)1
String2(更多信息)2

我的问题是 thymeleaf 异常,表示在此上下文中禁止访问变量“param”。访问“rowStat.count”工作正常。

如果有一种更简单的方法来显示上标数字,那对我来说也很好。

java html spring thymeleaf
2个回答
2
投票

不允许使用

param
,因为这是 Thymeleaf 的保留字,用于检索请求参数。尝试将其更改为其他内容:

<th:block th:each="myParam, rowStat: ${someList}">
    <th style="..." th:utext="#{some.translation(${myParam}, ${rowStat.count})}">superscript</th>
</th:block>

另请参阅此处的 Thymeleaf 文档:请求参数

param
:用于检索请求参数。
${param.foo}
是具有
String[]
请求参数值的
foo
,因此
${param.foo[0]}
通常用于获取第一个值。


0
投票

您还可以使用

th:with
将 param 变量重新声明为另一个变量,如下面的代码片段所示:

<tr th:with="idExecucaoParam=${param.idExecucao}" th:each="geracao: ${logExecucaoServicos}">
        <td th:text="${idExecucaoParam}"/>
</tr>

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.