我正在使用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具有内置转换(强制)的标准类型是基元NumberBoolean)。另外,我认为当您说“禁用”和“启用”时,您实际上的意思是“在组件树中渲染”。

简而言之,您基本上需要<h:someComponent rendered="#{X != 0}" />

你不能那样做吗?

10-01 21:54
查看更多