고유 한 HTTP 요청 매개 변수로 사용할 수있는 문자열 표현으로 원하는 Java 객체가 표현되도록 Converter#getAsString()
을 구현해야합니다. 데이터베이스 기술 ID (기본 키)를 사용하면 매우입니다. HTTP 요청 매개 변수 (정의 String
당이다) (귀하의 경우 Project
) 원하는 자바 오브젝트로 변환 할 수 있도록
public String getAsString(FacesContext context, UIComponent component, Object value) {
// Convert the Project object to its unique String representation.
return String.valueOf(((Project) value).getId());
}
은 그럼 당신은`Converter#getAsObject()
를 구현해야합니다.
public Object getAsObject(FacesContext context, UIComponent component, String value) {
// Convert the unique String representation of Project to the actual Project object.
return projectDAO.find(Long.valueOf(value));
}
Project
이 사진에 converterId
또는 f:converter
지정할 필요 온다 때 마지막으로 단지 문제의 객체 타입이 변환기를 연결, JSF는 변환에 대한 처리됩니다 :
<converter>
<converter-for-class>com.example.Project</converter-for-class>
<converter-class>com.example.ProjectConverter</converter-class>
</converter>
이를 방금 SelectItem
을 Project
값으로 생성 할 수 있습니다.
당신은이 블로그 글에서 일부 배경 정보와 더 많은 아이디어를 얻을 수 있습니다 : http://balusc.blogspot.com/2007/09/objects-in-hselectonemenu.html
그의 문제가없는 방법을 선택 항목을 만드는 방법'Project'와 같은 선택 항목, 같은 비표준 객체를 사용하는 방법에 더 많은 것이다. – BalusC
방금 대안을 줄 것이라고 생각했습니다. –