Citat:
Vanja Petreski: Pa nije mi jasno sta ti nije jasno?
A nije mi sada ni jasno sta hoces?
A nije mi ni logicno da imas NekiBean, pa da u njemu imas property koji je lista tih istih bean-ova?!
Logicnije bi mi bilo da imas NekiSvojObjekatKojiCuvaOnoStoTebiTreba a da u backing bean-u imas listu istih...
Prepravio sam onako kako si rekao:
U events.jspf na dnu imam
Code:
<h:column>
<f:facet name="header">
<f:verbatim>details</f:verbatim>
</f:facet>
<h:form>
<h:commandLink>
<f:actionListener type="ticketline.beans.EventsBackingBean" />
<h:outputText value="Details" />
<h:commandLink>
</h:form>
</h:column>
Imam EventsBean samo bez one metode koja daje listu.
I imam EventsBackingBean
Code:
package ticketline.beans;
import java.util.ArrayList;
import java.util.Iterator;
import javax.faces.component.UIComponent;
import javax.faces.component.UIData;
import javax.faces.event.AbortProcessingException;
import javax.faces.event.ActionEvent;
import javax.faces.event.ActionListener;
import ticketline.dao.DAOFactory;
import ticketline.db.Veranstaltung;
public class EventsBackingBean implements ActionListener {
public EventsBackingBean() {}
public ArrayList<EventsBean> getAllEvents() {
int id = 0;
ArrayList<EventsBean> events = new ArrayList<EventsBean>();
Iterator i = DAOFactory.getVeranstaltungDAO().getAll().iterator();
while(i.hasNext()) {
Veranstaltung v = (Veranstaltung)i.next();
EventsBean eb = new EventsBean();
eb.setId(id++);
eb.setBezeichnung(v.getComp_id().getBezeichnung());
eb.setKategorie(v.getComp_id().getKategorie());
eb.setSubkategorie(v.getSubkategorie());
events.add(eb);
}
return events;
}
public void processAction(ActionEvent anEvent) throws AbortProcessingException {
EventsBean tmpBean = null;
UIComponent tmpComponent = anEvent.getComponent();
while (null != tmpComponent && !(tmpComponent instanceof UIData)) {
tmpComponent = tmpComponent.getParent();
}
if (tmpComponent != null && (tmpComponent instanceof UIData)) {
Object tmpRowData = ((UIData) tmpComponent).getRowData();
if (tmpRowData instanceof EventsBean) {
tmpBean = (EventsBean) tmpRowData;
}
}
}
}
Sad me zanima kako da bi mogao srediti, da kad kliknem na "details" da mi otvori novu stranu na kojoj ce biti podaci iz tog reda i nista vise. Znaci meni treba dinamicki "action" za ovu formu. Kako to da definisem u faces-config.cfg.
Ili moze i drugacije to ici?