2010-08-17 94 views
2

我正在使用JSF 2.0 btw
我有一個屬性X類型Integer,它的默認值爲0.在我的JSF頁面中,我創建了一個我想要的組件如果X爲0則禁用,否則啓用。JSF:是否有可能爲此創建一個自定義轉換器

<h:selectBooleanCheckbox disabled="#{X}"/> 

,我得到這個錯誤

Cannot convert 0 of type class java.lang.Integer to class java.lang.Boolean 
+1

我不明白你的意思是「實體類型整數」 – Bozho 2010-08-17 20:42:28

+0

uhmmm,屬性'X'類型整數,那我的意思是 – 2010-08-17 21:53:17

回答

6

你的問題是相當含糊不清。我沒有看到轉換器在這裏有用。 A轉換器僅僅是在非標準類型和String類型(EL具有內建轉換(強制)的原始類型爲NumberBoolean)的標準類型之間進行轉換。另外,我認爲當你說「禁用」和「啓用」時,你實際上是指「在組件樹中渲染」。

在堅果,你基本上要<h:someComponent rendered="#{X != 0}" />

難道你不能這麼做嗎?

+0

我看到你的水晶球今天工作正常:) +1 – Bozho 2010-08-17 21:05:59

+0

另外;一些組件具有禁用的屬性,使用相同的方式。 我建議保持一個布爾變量用於啓用/禁用,但:'的' – Tormod 2010-08-17 21:24:37

+0

表示HTML表單元素的組件確實有。但是這個問題並不明顯。 – BalusC 2010-08-17 21:28:43

相關問題