thymeleaf 将字符串评估为变量
thymeleaf evaluate string as variable
假设我有一个名为“reference”的 thymeleaf 片段,它采用参数 referenceNumber="1",在我的模型中我有 "reference1_firstName" = "Bob"
<div ... th:fragment="reference(referenceNumber)">
Reference <div th:text="${referenceNumber}"/> first name is <div th:text="${'reference' + referenceNumber + '_firstName'}".>
</div>
在上面明显不正确的示例中,我想打印出“Reference 1 first name is Bob”。看起来很简单,我可以用其他几种语言做到这一点,但到目前为止,我对 thymeleaf
的搜索是空的
有几种方法可以做到这一点。
<span th:text="${reference__${referenceNumber}___firstName}" />
<span th:text="${#ctx.getVariable('reference' + referenceNumber + '_firstName')}" />
<span th:text="${#ctx['reference' + referenceNumber + '_firstName']}" />
或者,如果您打算以这种方式访问变量,请使用 Map
而不是变量。
假设我有一个名为“reference”的 thymeleaf 片段,它采用参数 referenceNumber="1",在我的模型中我有 "reference1_firstName" = "Bob"
<div ... th:fragment="reference(referenceNumber)">
Reference <div th:text="${referenceNumber}"/> first name is <div th:text="${'reference' + referenceNumber + '_firstName'}".>
</div>
在上面明显不正确的示例中,我想打印出“Reference 1 first name is Bob”。看起来很简单,我可以用其他几种语言做到这一点,但到目前为止,我对 thymeleaf
的搜索是空的有几种方法可以做到这一点。
<span th:text="${reference__${referenceNumber}___firstName}" />
<span th:text="${#ctx.getVariable('reference' + referenceNumber + '_firstName')}" />
<span th:text="${#ctx['reference' + referenceNumber + '_firstName']}" />
或者,如果您打算以这种方式访问变量,请使用 Map
而不是变量。