Merhaba, Picklistbean classında sessionscoped tanımlamadığımda picklist dolu geliyor fakat sessionscoped olduğunda boş geliyor, ve ben bu picklistin içinden seçilenin id sini başka bir managed bena de kullanmak istiyorum, injection yaptım olmadı. Yardım eden olursa sevinirim.
@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" />