Jsf 素数面;can';无法获取picklist组件的目标列表

Jsf 素数面;can';无法获取picklist组件的目标列表,jsf,primefaces,jsf-2.2,Jsf,Primefaces,Jsf 2.2,使用命令按钮提交表单时,无法获取目标列表值 以下是picklist的源初始化: public DualListModel<VehicleType> getVehicleTypeList() { List<VehicleType> source = new ArrayList<VehicleType>(); List<VehicleType> target = new ArrayList<VehicleType>()

使用命令按钮提交表单时,无法获取目标列表值

以下是picklist的源初始化:

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页面中将数据从源传输到目标列表。如何获取目标列表值

您的问题缺少一些信息,比如支持bean的范围。另外,不要在getter中执行业务逻辑
// should be something like this (did not test it though)
public void onTransfer(final TransferEvent event) {
    for (final Object each : event.getItems()) {
        vehicleTypeList.getTarget().add(((VehicleType) each));
    }
}
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);  
}
// should be something like this (did not test it though)
public void onTransfer(final TransferEvent event) {
    for (final Object each : event.getItems()) {
        vehicleTypeList.getTarget().add(((VehicleType) each));
    }
}