我正在使用JSF 2.0 btw
我有一个属性X
类型为Integer,其默认值为0。在我的JSF页面中,我创建了一个组件,希望X
为0时将其禁用,否则将其启用。
<h:selectBooleanCheckbox disabled="#{X}"/>
我得到这个错误
Cannot convert 0 of type class java.lang.Integer to class java.lang.Boolean
最佳答案
您的问题非常模糊和含糊。我看不到转换器在这里有什么用。转换器仅能在非标准类型和String
类型之间进行转换(EL具有内置转换(强制)的标准类型是基元Number
和Boolean
)。另外,我认为当您说“禁用”和“启用”时,您实际上的意思是“在组件树中渲染”。
简而言之,您基本上需要<h:someComponent rendered="#{X != 0}" />
。
你不能那样做吗?