Q
反射和百里香
0
A
回答
2
在這些日子裏,我一直對一個問題非常相似,你的。
我發現Thymeleaf有這個東西叫做preprocessing它可以讓你有嵌套的表達,所以像這樣的工作:
<p th:text="${__${'myObj.myField'}__}"></p>
在這種情況下,表達__${'myObj.myField'}__
首先計算:這個預處理後,將由<p>
標籤評估的表達式將變爲:
<p th:text="${myObj.myField}"></p>
這是所期望的結果。請注意,在預處理的表達式中,我們將字段作爲字符串傳遞:因此,應該完全可以創建一個其中包含th:each
的片段,它接受一個字符串列表,其中每個字符串都是一個字段。該列表可以通過Java直接在模型中注入,或者可以在Thymeleaf的標記中注入statically declared。這種片段的例子可以是:
<div th:fragment = "show-details">
<tr th:each = "field : ${fieldsToPrint}">
<td th:text = "${__${myObj + '.' + field}__}"></td>
</tr>
</div>
哪位能,例如,被像這樣使用:
<div th:replace = "myfragments :: show-details(fieldsToPrint = ${ {'name', 'surname'} }, myObj = ${objFromModel})"></div>
字段的列表可以是手動或通過Java反射產生。
該過程仍然涉及一些工作,但方式不如手工創建所有視圖,特別是如果您可以顯示具有相同show-details
片段的所有實體。我還沒有解決它,但應該可以使用類似的模式來編輯這些實體。
+0
+1對於不熟悉Thymeleaf的人來說,這是一個夢幻般的答案。代碼示例特別值得讚賞。 –
相關問題
- 1. 百里香和JQuery
- 2. 百里香和春天3.0
- 3. 百里香和會議
- 4. 百里香方言裏面的百里香方言
- 5. 春天百里香
- 6. 百里香葉片上的百里香失敗
- 7. 將百里香片段插入百里香佈局
- 8. 百里香sax分析器和utm_source
- 9. 百里香文本和html版本
- 10. 百里香和春 - 桌子的分頁?
- 11. 春季安全,百里香和餅乾
- 12. 百里香背景音樂
- 13. 春百里香葉在NPE
- 14. 百里香複合組件
- 15. 百里香嵌套對象
- 16. 裏面的百里香[如果mso]
- 17. 春季啓動百里香圖片
- 18. 有條件的百里香片段
- 19. 春季MVC百里香隨機崩潰
- 20. 百里香葉中的全局錯誤
- 21. 百里香片段表達式
- 22. 百里香的算術運算
- 23. 整數上的百里香開關盒
- 24. 簡單的循環在百里香
- 25. 用百里香創建JavaScript變量
- 26. 分析百里香模板時出錯
- 27. 用百里香擴展視圖
- 28. 如何做百里香多重選擇?
- 29. 如何擺脫百里香雙引號?
- 30. 選擇了百里香選項
你能描述一下你想完成什麼嗎? (也許是一個代碼示例?) – bphilipnyc
就像我說的,我有大約60個實體。而不是寫每一個片段,我想寫一個和實體字段上的循環 –
不是一個模板就足夠了嗎?循環遍歷服務器端的每個字段並將它們添加到模型中。或者你是否試圖動態生成HTML?如果是這樣,爲什麼? – bphilipnyc