0

Primefaces Picklistbean 没有定义范围,然后 primefaces 选择列表源和目标列表已满,但如果我将 sessionscoped 添加到 Picklistbean,则源和目标列表为空。我想知道为什么当我将 sessionscoped 添加到 Picklistbean 时它显示为空

@ManagedBean(name="pickListBean")
public class PickListBean {

private DualListModel<TrvrTani> tanis;

private DualListModel<TrvrIlac> ilacs;

public DualListModel<TrvrIlac> getIlacs() {
    return ilacs;
}

public void setIlacs(DualListModel<TrvrIlac> ilacs) {
    this.ilacs = ilacs;
}

public DualListModel<TrvrTani> getTanis() {
    return tanis;
}

public void setTanis(DualListModel<TrvrTani> tanis) {
    this.tanis = tanis;
}

public PickListBean() {

    List<TrvrTani> sourcetani = new ArrayList<TrvrTani>();
    List<TrvrTani> targettani = new ArrayList<TrvrTani>();

    TrvrTaniDAO tanidao = new TrvrTaniDAO();
    List<TrvrTani> taniList = tanidao.findAll();
    for (TrvrTani tani : taniList) {
        sourcetani.add(new TrvrTani(tani.getTaniid(), tani.getTaniadi(),
                tani.getTanikodu()));
    }

    tanis = new DualListModel<TrvrTani>(sourcetani, targettani);

    List<TrvrIlac> sourceilac = new ArrayList<TrvrIlac>();
    List<TrvrIlac> targetilac = new ArrayList<TrvrIlac>();

    TrvrIlacDAO ilacdao = new TrvrIlacDAO();
    List<TrvrIlac> ilacList = ilacdao.findAll();
    for (TrvrIlac ilac : ilacList) {
        sourceilac.add(new TrvrIlac(ilac.getIlacid(), ilac.getIlacad(),
                ilac.getBarkod(), null));
    }

    ilacs = new DualListModel<TrvrIlac>(sourceilac, targetilac);

}

public void onTransferTani(TransferEvent event) {
    StringBuilder builder = new StringBuilder();
    for (Object item : event.getItems()) {
        builder.append(((TrvrTani) item).getTaniadi()).append("<br />");
    }

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

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

public void onTransferIlac(TransferEvent event) {
    StringBuilder builder = new StringBuilder();
    for (Object item : event.getItems()) {
        builder.append(((TrvrIlac) item).getIlacad()).append("<br />");
    }

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

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

xhtml

            <h:outputText value="Tanı: " />
                <p:pickList id="picklist" value="#{pickListBean.tanis}" size="60"
                    cols="60" var="tani" converter="acconverter"
                    itemValue="#{tani}" itemLabel="#{tani.taniadi}"
                    showSourceControls="false" showTargetControls="false"
                    showCheckbox="false" showSourceFilter="true"
                    showTargetFilter="true" filterMatchMode="contains">

                    <f:facet name="sourceCaption">Tanılar</f:facet>
                    <f:facet name="targetCaption">Eklenen tanılar</f:facet>

                    <p:ajax event="transfer" listener="#{pickListBean.onTransferTani}" />


                    <p:column style="width:75%;">  
                            #{tani.taniadi}  
                    </p:column>

                </p:pickList>
                <br />
                <p:message for="picklist" />

                <h:outputText value="İlaç: " />
                <p:pickList id="picklist2" value="#{pickListBean.ilacs}" size="60"
                    cols="60" var="ilac" converter="acconverterilac"
                    itemValue="#{ilac}" itemLabel="#{ilac.ilacad}"
                    showSourceControls="false" showTargetControls="false"
                    showCheckbox="false" showSourceFilter="true"
                    showTargetFilter="true" filterMatchMode="contains">

                    <f:facet name="sourceCaption">İlaçlar</f:facet>
                    <f:facet name="targetCaption">Eklenen ilaçlar</f:facet>

                    <p:ajax event="transfer" listener="#{pickListBean.onTransferIlac}" />


                    <p:column style="width:75%;">  
                            #{ilac.ilacad}  
                    </p:column>

                </p:pickList>
                <br />
                <p:message for="picklist2" />
4

1 回答 1

0

尝试这个

@Named
@SessionScoped

代替@ManagedBean(name="pickListBean")

在顶部

于 2014-04-07T09:43:04.377 回答