Primefaces selectManyMenu->加载默认值
Primefaces selectManyMenu-> loading default values
我正在使用 jsf 2.2 majorra 和 primefaces 5.1 构建一个 webapp
我知道这可能以前已经回答过,但我没有发现我的错误...我从 primefaces 展示中拿了例子并尝试了互联网建议的一些东西,但它不想工作
<?xml version="1.0" encoding="UTF-8"?>
<ui:composition template="/WEB-INF/template/master.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:pe="http://primefaces.org/ui/extensions"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:define name="content">
<p:selectManyMenu id="userList"
value="#{userAdministrationController.selectedUsers}" var="t"
filter="true" filterMatchMode="contains" showCheckbox="true">
<f:selectItems value="#{userAdministrationController.selectItemList}"
var="user" itemLabel="#{user.fullName}" itemValue="#{user}" />
<p:column>
<h:outputText value="#{t}" />
</p:column>
</p:selectManyMenu>
<p:separator />
<p:commandButton value="Submit" oncomplete="PF('dlg').show()"
icon="ui-icon-check" />
</ui:define>
</ui:composition>
我正在尝试加载此列表,以便在访问页面时已经选择了一些用户,例如默认值
所有用户均按需要显示,但未将默认值加载到复选框
提前致谢
好的,现在我找到了答案:
工作代码->
<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 中,我必须为预选值创建一个列表,列表中的内容必须与 selectitems
的值类型相同
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);
}

我正在使用 jsf 2.2 majorra 和 primefaces 5.1 构建一个 webapp
我知道这可能以前已经回答过,但我没有发现我的错误...我从 primefaces 展示中拿了例子并尝试了互联网建议的一些东西,但它不想工作
<?xml version="1.0" encoding="UTF-8"?>
<ui:composition template="/WEB-INF/template/master.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:pe="http://primefaces.org/ui/extensions"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:define name="content">
<p:selectManyMenu id="userList"
value="#{userAdministrationController.selectedUsers}" var="t"
filter="true" filterMatchMode="contains" showCheckbox="true">
<f:selectItems value="#{userAdministrationController.selectItemList}"
var="user" itemLabel="#{user.fullName}" itemValue="#{user}" />
<p:column>
<h:outputText value="#{t}" />
</p:column>
</p:selectManyMenu>
<p:separator />
<p:commandButton value="Submit" oncomplete="PF('dlg').show()"
icon="ui-icon-check" />
</ui:define>
</ui:composition>
我正在尝试加载此列表,以便在访问页面时已经选择了一些用户,例如默认值
所有用户均按需要显示,但未将默认值加载到复选框
提前致谢
好的,现在我找到了答案:
工作代码->
<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 中,我必须为预选值创建一个列表,列表中的内容必须与 selectitems
的值类型相同 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);
}