ПраймФейс; не удается получить целевой список компонента списка выбора

Я не могу получить значения целевого списка, когда отправляю форму с помощью командной кнопки.

Вот исходная инициализация списка выбора:

public DualListModel<VehicleType> getVehicleTypeList() {

    List<VehicleType> source = new ArrayList<VehicleType>();  
    List<VehicleType> target = new ArrayList<VehicleType>();  

    source = dao.getVehicleTypes(getLocale());     

    vehicleTypeList = new DualListModel<VehicleType>(source, target);
    return vehicleTypeList;
}

Вот список выбора xhtml:

<p:pickList id="pojoPickList" value="#{home.vehicleTypeList}" var="vehicleType" effect="slide"  
itemValue="#{vehicleType}" itemLabel="#{vehicleType.vehicleTypeName}" 
showSourceControls="true" showTargetControls="true" showCheckbox="true"  
showSourceFilter="true" showTargetFilter="true" filterMatchMode="contains" 
style="padding-left:50px;" binding="#{home.selectedVehicleTypes}">  

<p:ajax event="transfer" listener="#{home.onTransfer}"/>

<f:facet name="sourceCaption">Mevcut Araçlar</f:facet>  
<f:facet name="targetCaption">Seçilen Araçlar</f:facet>  

<p:column style="width:25%">  
    <p:graphicImage id="typeImg" value="/images/icons/#{vehicleType.iconFileName}" width="40" height="40" />  
</p:column>  

<p:column style="width:75%;">  
    <h:outputText id="vhclTypeName" value="#{vehicleType.vehicleTypeName}"/> 
</p:column>  

Here is the ajax enabled onTransfer method:

public void onTransfer(TransferEvent event) {  
    StringBuilder builder = new StringBuilder();  
    for(VehicleType type : vehicleTypeList.getTarget()) {  
        builder.append(type.getVehicleTypeName() + " ");  
    }  

    FacesMessage msg = new FacesMessage();  
    msg.setSeverity(FacesMessage.SEVERITY_INFO);  
    msg.setSummary("Items Transferred");  
    msg.setDetail(builder.toString());  

    FacesContext.getCurrentInstance().addMessage(null, msg);  
}

После отправки этого компонента исходные значения в порядке, но целевой список пуст, даже если я передаю данные из исходного в целевой список на странице xhtml. Как я могу получить значения целевого списка?


person nudastack    schedule 19.09.2013    source источник
comment
В вашем вопросе отсутствуют биты информации, такие как объем вашего поддерживающего компонента. Кроме того, не делайте бизнес-логику в геттере   -  person kolossus    schedule 20.09.2013