是否可以使用Thymeleaf动态构建表?
基本上我希望实现的是传递任何对象的能力,表格将显示表示对象中字段数的列数。
e.g。
对象1
名字
姓氏
DOB
对象2
号
码
街
城市
当传递给同一个thymleaf表时,会产生不同的结果:
对象1表:
<tr>
<td>First Name</td>
<td>Last Name</td>
<td>DOB</td>
</tr>
对象2表:
<tr>
<td>Number</td>
<td>Code</td>
<td>Street</td>
<td>City</td>
</tr>
答案 0 :(得分:2)
概念和背景
这篇文章将让您了解如何获取类的属性并使用org.apache.commons.beanutils.PropertyUtils
获取这些属性的值
https://stackoverflow.com/a/13960004/1251350
<小时/> 实施建议
使用上述方法构建bean,以获取传递对象的map<String, Object>
属性。
@Service("objService")
class ObjectService {
public Map<String, Object> convertToArray(Object object){
// the logic to be taken from
// https://stackoverflow.com/a/13960004/1251350
}
}
然后在thymeleaf模板中,将对象作为fragment argument
传递并迭代地图http://forum.thymeleaf.org/How-to-iterate-HashMap-td3621264.html
<div th:fragment="objDisplay(obj)">
<div th:each="entry : @objService.convertToArray(obj)">
<!-- Thymeleaf template to display Map -->
<!-- http://forum.thymeleaf.org/How-to-iterate-HashMap-td3621264.html -->
</div>
</div>
我没有努力为你编写代码,因为我相信你可以在这个指导下自己动手。干杯!的