Announcement

Collapse
No announcement yet.

DataTable mit Managed Beans

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DataTable mit Managed Beans

    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:

    Code:
    public static void setBeanInstance(String beanName, Object bean) {
    FacesContext context = FacesContext.getCurrentInstance();
            context.getELContext().getELResolver().setValue(context.getELContext(), null, beanName, bean);
        }
    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
    Zuletzt editiert von nightpoet07; 12.12.2007, 21:00.

  • #2
    hi,

    du könntest die Bean in der ...war es die web.xml... ? session - weit bekannt machen. Das könnte aber andere Nebeneffekte haben.

    Ich hatte mal etwas ähnliches gemacht. Allerdings war mein Ansatz ein Controller der die Daten verwaltete.

    Gruß KK

    Comment


    • #3
      Danke

      Ich habe das Problem nun gelöst. Die Bean war mit Session Scope konfiguriert. Allerdings scheint es so, dass die setValue Methode des ELResolver Bean Instanzen, unabhängig von den Einstellungen in der faces-config.xml, nur im Request Scope speichert.

      Comment

      Working...
      X