2011-01-12 15 views
0

我有一個Spring 3 MVC應用程序將Hibernate作爲ORM進行操作。一切正常。但一個問題:Spring-Hibernate:如何在使用相關對象時定義默認值

我有一個web界面來創建新的對象,說一個新的客戶。每個客戶都有一個狀態。 STATUS-Table具有預定義的值。 CUSTOMER-Table有一個status_id字段來加入信息。

當顯示CUSTOMERS列表時,我可以訪問CUSTOMER.STATUS屬性並獲取ID上正確的對象。

但是:如何爲新客戶定義標準狀態?我有一個下拉式的網絡界面。

<form:select path="status"> 
<form:option value="0" label="- Please Select -" /> 
<form:options items="${customerStatuses}" itemValue="id" /> 
</form:select> 

這總是顯示「請選擇」文本,因爲它看起來像值始終是0?我怎樣才能將其更改爲我個人選擇的標準狀態?

回答

2

您的控制器需要照顧這一點。我會做這樣的:

@RequestMapping(value = { "/new-customer-form" }) 
public String showNewCustomerForm(ModelMap model) { 
    Customer newCustomer = new Customer(); 
    newCustomer.setStatus(statusRepository.getDefaultStatus()); 
    model.addAttribute("customer", newCustomer); 
    model.addAttribute("customerStatuses", statusRepository.getAllStatuses()); 
    return "customer-form"; 
} 

由於事實上,該「 - 請選擇 - 」標籤將不再顯示,因爲您的狀態始終充滿。

(我希望我理解正確你的問題這一次。)

+0

但我需要狀態表,因爲一)每個狀態有一些比奧菱名字更多的屬性和我配置表中的列的屬性,B)狀態可以根據登錄用戶進行配置。 – Czar 2011-01-12 11:25:17

相關問題