【问题标题】:Trying to use dynamic fields in Thymeleaf尝试在 Thymeleaf 中使用动态字段
【发布时间】:2015-02-06 00:19:33
【问题描述】:

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

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

所以,如果我写下这段代码,一切都很好:

page.html 中的 HTML 和 Thymeleaf 代码:

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

因此,themeleaf 很好地理解了所有变量,结果如下:

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

我试过了:

 <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 中做到这一点吗?

【问题讨论】:

    标签: java html spring thymeleaf


    【解决方案1】:

    我不确定你能不能完成这项工作。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-26
      • 1970-01-01
      • 2015-04-19
      相关资源
      最近更新 更多