如何使复选框在显示器上显示为已选中

How to make checkboxes display checked on display

我正在使用以下指南在我的工具中实现许多复选框: http://www.primefaces.org/showcase/ui/input/manyCheckbox.xhtml

我已经成功完成了,但我想要发生的是,如果用户具有该角色,我希望复选框已经在显示时被勾选,如果他们没有,则不被选中。这个想法是,管理员可以 check/uncheck 他们希望用户拥有哪些角色,以及他们已经检查过的角色。

这是我目前尝试过的方法:

<p:selectManyCheckbox id="roles" value="#{usersView.selectedRoles}" layout="grid" columns="3">
    <f:selectItems value="#{rolesView.roles}" var="role" itemLabel="#{role.name}" itemValue="#{role.name}" />
</p:selectManyCheckbox>

在我的 usersView 中,selectedRoles 只是用户拥有的所有角色的 ArrayList

感谢任何帮助。

如果您 selectedRoles 在同一订单上一一匹配 itemValue 那么 Bingo 您的复选框将被自动选中

例如:

selectedRoles={'Mark','Jack'}

并且在你的 #{rolesView.roles} 如果你有相同的 #{'Mark','Jack'}#{role.name} 相同的顺序

然后简单地说,你有自己的自动检查复选框。