Primefaces selectManyMenu->加载默认值

时间:2015-12-31 13:16:38

标签: jsf-2 primefaces

我正在使用jsf 2.2 majorra和primefaces 5.1构建一个webapp

我知道这可能之前已经得到了解答,但是我没有发现我的错误......我从主要的展示中抽取了一些例子并尝试了互联网建议的一些东西,但它不想工作

- (void)viewWillLayoutSubviews{}

我试图加载此列表,以便在访问页面时已选择某些用户,例如默认值

所有用户都会根据需要显示,但没有默认值加载到复选框

提前致谢

1 个答案:

答案 0 :(得分:3)

好的,现在我找到了答案:

工作代码 - >

    <p:selectManyMenu id="userList"
        value="#{userAdministrationController.selectedUsers}" var="t" 
        filter="true" filterMatchMode="contains" showCheckbox="true" >
        <f:selectItems value="#{userAdministrationController.selectItemList}"
            var="user" itemValue="#{user}" />
        <p:column>
            <h:outputText value="#{t}"  />
        </p:column>
    </p:selectManyMenu>

没有转换器!在我的bean中我必须为预选值创建一个List,列表中的东西必须与selectitems的VALUES类型相同

    List<User> inactiveUsers = userService.findByActive(false);
    List<User> userList = userService.findAll();

    selectItemList = new ArrayList<SelectItem>();
    for (User user : userList) {
        SelectItem selectItem = new SelectItem(user.getFullName(), WordUtils.capitalize(user.getFullName()));
        selectItemList.add(selectItem);
    }

    selectedUsers = new ArrayList<String>();
    for (User user : inactiveUsers) {
        String userName = user.getFullName();
        selectedUsers.add(userName);
    }

screenshot of control