首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SelectBooleanCheckbox坚持许多到多个

使用SelectBooleanCheckbox坚持许多到多个
EN

Stack Overflow用户
提问于 2013-08-29 15:16:52
回答 1查看 641关注 0票数 1

我的问题类似于JPA坚持多到多

但是,我有两个实体:角色和用户,具有多到多的关系,由rolesusers表表示。在我的应用程序中,我使用JSF2.0,我有一个表单来操作用户数据,还有一个包含所有角色名称的列表和一个selectBooleanCheckbox来查看用户的角色(如果是的话)。此外,它必须能够添加或删除rol (检查或取消检查selectBooleanCheckbox),但当我这样做时,我有两个问题:

1:为了检查这个用户的角色,我在selectBooleanCheckbox的值中使用了以下语法:

代码语言:javascript
复制
<h:column>
 <f:facet name="header">
  <h:outputText value="ASIGNADO"/>
 </f:facet>
 <h:panelGroup rendered="#{usuariosController.selected.rolesList.contains(itemRole)}">
  <h:selectBooleanCheckbox value="#{true}">
   <f:ajax listener="#{rolesView.selectRoleListener(usuariosController.selected, itemRole)}" render="@form" />
  </h:selectBooleanCheckbox>
 </h:panelGroup>
 <h:panelGroup rendered="#{!usuariosController.selected.rolesList.contains(itemRole)}">
  <h:selectBooleanCheckbox value="#{false}">
   <f:ajax listener="#{rolesView.selectRoleListener(usuariosController.selected, itemRole)}" render="@form" />
  </h:selectBooleanCheckbox>
</h:panelGroup>
</h:column>

但是,当执行selectRoleListener时,它会抛出一个javax.faces.component.UpdateModelException /users.xhtml @224,102 value="#{true}": Illegal Syntax for Set Operation

2:如果删除value="#{true}"并将其替换为value="true",则当用户具有列表中指定的角色时,不会选中复选框,但似乎执行了selectRoleListener,但在数据库中看不到更改。

你能帮我处理这个案子吗?希望你能理解我。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-29 15:42:09

到目前为止,您似乎忽略了存在于标准JSF组件集中。然后,这种过于复杂和不正确的方法可以简化如下:

代码语言:javascript
复制
<h:selectManyCheckbox value="#{bean.user.roles}">
    <f:selectItems value="#{bean.availableRoles}" />
</h:selectManyCheckbox>

(为简洁起见省略了转换器/标签/布局等)

其中,#{bean}有一个User user属性,而该属性又具有一个表示所选角色的List<Role> roles属性。然后有一个表示所有可用角色的List<Role> availableRoles属性(如果有必要,它可以保存在不同的应用程序范围内)。

至于你得到的PropertyNotWritableException:这是一个很好的自我解释,这里没有设置者。换句话说,value="#{true}"根本不代表真正的模型属性。您应该引用一个模型属性,该属性具有一个getter和一个setter,如so #{bean.value}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18514837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档