繁体   English   中英

JSF Primefaces SelectOneMenu的默认值

[英]JSF Primefaces SelectOneMenu default value

我已经阅读了一些教程,其中设置默认下拉菜单选项的唯一方法是对options(SelectItems)列表进行排序。 但是我做不到。

以下是我的XHTML:

<p:selectOneMenu ....>
    <p:ajax event="change" update="ordersListForm" />
    <f:selectItems value="#{Controller.memberList}"
        var="User" itemLabel="#{User.authority.fullName}"
        itemValue="#{User.authority.fullName}" />
</p:selectOneMenu>

和我的豆子:

 currentUser = loginManager.getCurrentPrincipal().getUser();
 memberList = new ArrayList<>();
 List<SiteMember> tempList = memberManager.getList();
 currentUserNN = isUserNN(currentUser);
 for (SiteMember member : tempList) {
    for (Group group : memberManager.getGroups(member.getAuthority().getUserName())) {
         if (group.getItemName().startsWith(Roles.ROLE)) {
            memberList.add(member);
         }
    }
 }

因此,默认值取决于登录的用户以及他属于哪个组。

如果用户属于组ROLE则其名称应为默认选项。 如果他不属于该组,则selectItems应该是memberList按字母顺序排序。

如果至少可以显示如何使defaultUser作为默认选项,则可以管理其余部分。

提前致谢。

将selectOneMenu的值设置为当前用户组。 如果.startsWith(Roles.ROLE)为true,则设置该值,否则将其设置为null。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM