试图在Thymeleaf中使用动态字段

时间:2015-02-02 16:20:17

标签: java html spring thymeleaf

在themeleaf教程中,他们教你如何使用两个级别的变量从列表中提取值,例如[[${variable1[__${variable2}__]}]],但重点是我想使用以下方法提取值: [[${variable1[${variable2[__${variable3}__]}]}]] ,但我不知道如何正确输入此代码。

我正在尝试使用Spring服务器为mModelAndView.addObject("project",Projects.findById(pid));mModelAndView.addObject("local",posto);提供的对象创建一个HTML元素,其中Projects和posto是具有不同变量的java类。

所以,如果我写下代码的和平,一切都很好并且正确:

HTML& page.html中的T​​hymeleaf代码:

<div th:each="parametro,row1  : ${project.Lista}">
                                <p class="info">[[${parametro.pergunta}]]: [[${parametro.rrespostas[0]}]], [[${local.lista_respostas[__${row1.index}__]}]]   </p>
</div>

因此,所有变量都被themeleaf很好地理解了,结果就是这样:

code result

但重点是我希望[[${local.lista_respostas[__${row1.index}__]}]]变量将是[[${parametro.rrespostas[0]}]]索引(rrespostas变量包含一个数字),这意味着我想要替换这个'0 'rrespostas值。

我尝试过:

 <p class="info">[[${parametro.pergunta}]]: [[${parametro.rrespostas[__${local.lista_respostas[__${row1.index}__]}__}]]   </p>
<p class="info">[[${parametro.pergunta}]]: [[${parametro.rrespostas[[[${local.lista_respostas[__${row1.index}__]}]]]}]]   </p>

我尝试了更多组合尝试提取信息,但没有任何作用。

在themeleaf中有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我不确定你能不能做到这一点。

这并不能直接解决您的问题,但是: 在我看来,唯一干净的方法是开始使用处理器。编写自己的文件并不是很难,而且您可以回到Java-Land,编译器会帮助您,并且您可以访问所有库等。

http://www.thymeleaf.org/doc/tutorials/2.1/extendingthymeleaf.html