2011-01-12 3 views
0

Spring 3 MVC 응용 프로그램에서 최대 절전 모드를 ORM으로 지정했습니다. 모두 잘 작동합니다. 그러나 질문 :Spring-Hibernate : 관련 객체를 사용할 때 기본값을 정의하는 방법

새로운 개체를 만드는 웹 인터페이스가 있습니다 (예 : 새로운 고객). 각 고객은 STATUS를가집니다. 상태 테이블에는 미리 정의 된 값이 있습니다. CUSTOMER-TABLE에는 정보를 결합하는 status_id 필드가 있습니다.

고객 목록을 표시 할 때 CUSTOMER.STATUS 속성에 액세스하여 id에 기반한 올바른 개체를 얻을 수 있습니다.

하지만 어떻게 새로운 고객을위한 표준 상태를 정의 할 수 있습니까? 드롭 다운 메뉴가있는 웹 인터페이스가 있습니다. 값은 항상 0 인 것처럼 보이기 때문에

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

이 항상 "를 선택하십시오"텍스트를 보여줍니다 ??? 이 항목을 개별적으로 선택한 표준 상태로 어떻게 변경할 수 있습니까?

답변

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

(내가. 내가 제대로이 시간 당신의 질문을 이해 바랍니다)하지만) 각 상태의 이름을 OLY보다는 좀 더 속성을 가지고 있기 때문에이 상태 테이블을 필요로하고 내가 테이블 열에서 그 속성을 구성, B) 로그인 한 사용자에 따라 상태를 구성 할 수 있습니다. – Czar

+0

기본 status_id를 정의 할 수있는 방법이 있습니까? 테이블 오른쪽에서 오른쪽 상태 객체를 당겨야합니다. 사용자가 자신의 개별 상태 목록에 추가하거나 제거하는 것과 상관없이 기본값이 존재하기 때문입니다. – Czar

+0

확인. 그래서 나는 새로운 고객을 만들고 각각의 세터에게 전화해야한다. 그리고 내 컨트롤러에서이 작업을 수행해야하며 클래스에서 올바르게 정의 할 수 없습니다. 완벽하지는 않지만 적어도 다른 솔루션을 찾는 것을 멈출 수 있다는 것을 이제는 알고 있습니다. 감사 – Czar

관련 문제