2014-07-16 42 views
3

我使用hibernate 4.2.6Spring 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> 

salessale這裏List<Sale>

但我不想手動輸入這個字段。有沒有辦法自動做到這一點?

+0

什麼是銷售對象或列表或其他東西? – SparkOn

+0

@ M.Sharma的銷售是列表

+0

定義'不想手動輸入這個字段? – SparkOn

回答

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)); 
    } 
} 

這將顯示正常,只要銷售有簡單數據類型的字段。如果它有一個List myList,它將顯示爲:myList [str1,str2]。