2011-05-01 2 views
1

Sun JSF-RI 1.2를 사용 중이고 h : SelectOneMenu와 함께 슬픔을 겪고 있습니다. 값은 Object 유형의 Backing Bean 필드에 바인드됩니다.JSF h : SelectOneMenu가 숫자로 변환되지 않습니다.

<h:selectOneMenu value="#{bean.currentNumber}"> 
    <f:selectItems value="#{bean.numberList}" /> 
</h:selectOneMenu> 

SelectItems 다음과 같이 작성됩니다

SelectItem option = new SelectItem(new Double(3),"3"); 

내 백업 콩을 기대는 타입 더블의 객체를 주입하는 대신 내가 할 모든 문자열 "3"

입니다

JSF가 올바르게 변환해야한다고 생각합니다. 다른 점은 무엇입니까?

SelectItem(Object val,String label) 

생성자가 모두 유용 할 경우

도와주세요!

감사합니다 :)

답변

1

변경 Double-Object에서 입력하거나 <h:selectOneMenu>converter="javax.faces.Double"를 추가합니다.

+0

감사합니다. 나는 객체의 유연성이 필요하기 때문에 변환기를 사용하게되었다. 여전히 selectItem을 만들 때 올바른 유형의 객체에 대한 매핑이 매우 명확하기 때문에 이상합니다. – shandor

+0

여러분을 진심으로 환영합니다. 아니, 이상하지 않다. HTML은 기본적으로 하나의 커다란'String'이며 요청 파라미터는'String'으로 도착합니다. 올바른 속성 유형 및/또는 변환기를 사용하여 Java 유형을 명시 적으로 지정해야합니다. selectitem 유형은 부적절합니다. 어쨌든 HTML에서'String'으로 끝납니다. – BalusC

관련 문제