Hallo zusammen
Ich habe wieder mal ein DataTable Problem.
Eine DataTable wird mit einer Liste gefüllt, die Instanzen einer Bean als Elemente enthält. Innerhalb der Tabelle sollen Einträge über einen CommandLink selektiert werden können. Die ausgwählte Zeile muss anschließend auf einer weiteren Seite im Detail angezeigt werden.
Die Anzeige der Tabelle und das Auslesen der ausgewählten Zeile klappt soweit ganz gut.
Nun hätte ich jedoch die Frage, wie ich die ausgewählte Bean für die Verwendung auf der nächsten Seite registriere.
Ich hatte es zunächst mit:
probiert.
Allerdings werden die Properties der Bean dann nur auf der nächsten Seite korrekt angezeigt. Nach einem weiteren Seitenaufruf ist die Bean wieder auf null gesetzt und wird bei einer erneuten Verwendung neu initalisiert. Die Bean muss jedoch innerhalb der gesamten Session verfügbar sein.
Hat jemand hierzu eine Idee oder ein gutes Beispiel/ Tutorial.
Ich wäre sehr Dankbar, wenn mir jemand weiterhelfen könnte.
Viele Grüße
Ich habe wieder mal ein DataTable Problem.
Eine DataTable wird mit einer Liste gefüllt, die Instanzen einer Bean als Elemente enthält. Innerhalb der Tabelle sollen Einträge über einen CommandLink selektiert werden können. Die ausgwählte Zeile muss anschließend auf einer weiteren Seite im Detail angezeigt werden.
Die Anzeige der Tabelle und das Auslesen der ausgewählten Zeile klappt soweit ganz gut.
Nun hätte ich jedoch die Frage, wie ich die ausgewählte Bean für die Verwendung auf der nächsten Seite registriere.
Ich hatte es zunächst mit:
Code:
public static void setBeanInstance(String beanName, Object bean) { FacesContext context = FacesContext.getCurrentInstance(); context.getELContext().getELResolver().setValue(context.getELContext(), null, beanName, bean); }
Allerdings werden die Properties der Bean dann nur auf der nächsten Seite korrekt angezeigt. Nach einem weiteren Seitenaufruf ist die Bean wieder auf null gesetzt und wird bei einer erneuten Verwendung neu initalisiert. Die Bean muss jedoch innerhalb der gesamten Session verfügbar sein.
Hat jemand hierzu eine Idee oder ein gutes Beispiel/ Tutorial.
Ich wäre sehr Dankbar, wenn mir jemand weiterhelfen könnte.
Viele Grüße
Comment