Primefaces不使用orderList访问ajax函数

时间:2016-03-30 20:39:59

标签: ajax jsf primefaces

我试图学习primefaces,我想显示orderList,当点击一个项目时,使用ajax刷新一个pickList。我的问题是当我点击一个项目时,primefaces不能访问managedBean中的函数。 并且它没有发生任何事情。

我的XHTML:

<p:panel style="width:100%">
    <p:panelGrid style="width:100%" columns="3">
        <p:panel header="Collaborateurs">
            <p:orderList  value="#{affectationRolesBean.collaborateursList()}"
                var="collaborateur" controlsLocation="none"
                itemLabel="#{collaborateur}" itemValue="#{collaborateur}">
                <p:ajax event="select" listener="#{affectationRolesBean.onSelect}"
                    process="@form"/>
            </p:orderList>
        </p:panel>
        <p:pickList style="height:600px" id="pickList" value="#{affectationRolesBean.roles}"
            var="role" itemLabel="#{role.libele}" itemValue="role.libele">
            <f:facet name="sourceCaption">Roles Non affectés</f:facet>
            <f:facet name="targetCaption">Roles Affectés</f:facet>
        </p:pickList>
    </p:panelGrid>
    <p:commandButton value="Affecter"
        actionListener="#{affectationRolesBean.affecterRolesToCollaborateur()}" />
</p:panel>

我的managedBean:

public void onSelect(SelectEvent event){
    selectedCollaborateurName = event.getObject().toString();
    selectedCollaborateur=this.getCollaborateurByName(selectedCollaborateurName);
    roles.setSource(roleService.getRolesNotAffected(selectedCollaborateur));
    roles.setTarget(selectedCollaborateur.getRoles());
}

0 个答案:

没有答案