2011-05-01 38 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"); 

我希望我的支持bean與一個double類型的對象被注入,而是 我得到的是一個字符串「3」

我相信JSF應該正確地轉換它,其他明智的是什麼點

SelectItem(Object val,String label) 

構造函數,如果它的所有好處是字符串

請幫忙!!!

謝謝:)

回答

1

變化從ObjectDouble類型或添加converter="javax.faces.Double"<h:selectOneMenu>

+0

謝謝。我最終使用了一個轉換器,因爲我需要Object的靈活性。仍然很奇怪,因爲在構建selectItem時存在非常清晰的映射到正確類型的對象 – shandor 2011-05-02 14:19:33

+0

不客氣。不,這並不奇怪。 HTML基本上是一個大的String,並且請求參數以String的形式出現。您必須使用正確的屬性類型和/或轉換器來顯式指定Java類型。 selectitem類型無關緊要,它們最終以HTML中的「String」結尾。 – BalusC 2011-05-02 14:21:32

相關問題