我正在使用hibernate 4.2.6
和Spring 4.0.1
我们让实体类Sale
包含以下字段:
private int id;
private String name;
private int count;
private int sum;
private Date date;
我的数据库包含几行,对应于这个实体。我想在jsp
页面中显示以下任何字段:
<c:forEach var="sale" begin="0" step="1" items="${sales}">
${sale.name}
${sale.count}
${sale.sum}
${sale.date}
</c:forEach>
sales
List<Sale>
为sale
。
但我不想手动输入这些字段。有没有办法自动完成?
答案 0 :(得分:3)
你可以这样做:
<c:forEach var="sale" items="${sales}">
<c:forEach var="field" items="${sale.class.declaredFields}">
<!--To catch NoSuchFieldException,SecurityException-->
<c:catch>Field Name:${field.name} - Field Value:${sale[field.name]}
</c:catch>
</c:forEach>
</c:forEach>
Java相当于:
if(sale.getClass().getDeclaredFields() != null){
for(Field field : sale.getClass().getDeclaredFields()){
System.out.println("Field Name:"+field.getName());
System.out.println("Field value:"+field.get(sale));
}
}
只要Sale将简单数据类型作为字段,这将显示正常。如果它有一个List myList,它将显示为:myList [str1,str2]。