Spring-Hibernate: Как определить значения по умолчанию при использовании связанных объектов - PullRequest
0 голосов
/ 12 января 2011

У меня приложение Spring 3 MVC, которое поет Hibernate под ORM. Все работает отлично. Но вопрос:

У меня есть веб-интерфейс для создания новых объектов, скажем, нового КЛИЕНТА. У каждого КЛИЕНТА есть СТАТУС. Таблица STATUS имеет предопределенные значения. CUSTOMER-Table имеет поле status_id для присоединения к информации.

При отображении списка CUSTOMERS я могу получить доступ к свойству CUSTOMER.STATUS и получить правильный объект на основе идентификатора.

НО: Как я могу определить стандартный статус для НОВЫХ КЛИЕНТОВ? У меня есть веб-интерфейс с раскрывающимся списком.

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

Это всегда показывает текст "Пожалуйста, выберите", потому что кажется, что значение всегда 0 ??? Как я могу изменить это на мой индивидуально выбранный стандартный статус?

1 Ответ

2 голосов
/ 12 января 2011

Ваш контроллер должен позаботиться об этом.Я бы сделал это так:

@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";
}

На самом деле, ярлык "- Пожалуйста, выберите -" больше не будет отображаться, потому что ваш статус всегда заполнен.

(надеюсьНа этот раз я правильно понял ваш вопрос.)

...