jsf – 绑定h:selectBooleanCheckbox值为int / Integer而不是bo
发布时间:2020-12-14 19:30:25 所属栏目:资源 来源:网络整理
导读:我有一个 h:selectBooleanCheckbox value =“#{someBean.prop}”其中,prop是int类型的属性.真的不行吗?我必须实现一个自定义转换器将Boolean转换为int吗?有没有人有库存的转换代码?我读到JSF 2.0中有一些错误,阻止了 h:selectBooleanCheckbox待处理.有
我有一个< h:selectBooleanCheckbox value =“#{someBean.prop}”>其中,prop是int类型的属性.真的不行吗?我必须实现一个自定义转换器将Boolean转换为int吗?有没有人有库存的转换代码?我读到JSF 2.0中有一些错误,阻止了< h:selectBooleanCheckbox>待处理.有人可以确认吗?
我使用MyFaces 2,战斧和Tomcat 6. 解决方法
< h:selectBooleanCheckbox>应该像其名称一样绑定到一个布尔或布尔属性.没有其他的.它允许转换器属性实际上是一个
bug in the spec.它不应该允许它.
您的模型中的问题更多,为什么要使用int来表示布尔状态?改变你的模型,让它成为一个完整的布尔值. 如果由于某种原因(第三方API,愚蠢的架构师或愚蠢的业务限制等)改变模型不是一个选择,那么将后面的bean中的模型getter / setter包装成如下 public boolean isChecked() { return someModel.getSomeInt() != 0; } public void setChecked(boolean checked) { someModel.setSomeInt(checked ? 1 : 0); } 并将其替换为< h:selectBooleanCheckbox value =“#{bean.checked}”/> ;. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |