簡體   English   中英

嘗試在Thymeleaf中使用動態字段

[英]Trying to use dynamic fields in Thymeleaf

在themeleaf教程中,他們教您如何使用兩個級別的變量從列表中提取值,例如[[${variable1[__${variable2}__]}]]但要點是我想使用以下方法提取值: [[${variable1[${variable2[__${variable3}__]}]}]]但我不知道如何正確鍵入此代碼。

我正在嘗試使用Spring服務器通過mModelAndView.addObject("project",Projects.findById(pid));給定的對象來創建HTML元素mModelAndView.addObject("project",Projects.findById(pid)); mModelAndView.addObject("local",posto); 其中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> 

因此,它們易於理解所有變量,這就是結果:

代碼結果

但是關鍵是我希望[[${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> 

我嘗試了更多組合以嘗試提取信息,但是沒有任何效果。

有什么想法可以在他們那里做嗎?

我不確定您可以完成這項工作。

這不能直接解決您的問題,但是:我認為唯一的干凈方法是開始使用處理器。 編寫自己的代碼不是很困難,並且擁有返回Java-Land的巨大好處,在Java-Land中編譯器可以幫助您,並且您可以訪問所有庫等。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM