TechDocs


   Rubrik > Software Entwicklung >

C++
Hibernate
Java
Spezifikation
Spring



    09.09.2011 16:15:04  Software Entwicklung    

JSF - Bean Lifecycle, Backing Bean Scopes, Managed Bean Declaration

Managed Bean Deklaration in einer faces-config-xml Datei


Elemente der Managed Bean Deklaration

  managed-bean-nameName unter dem die Managed Bean gespeichert und gefunden werden kann, dieser Name muss innerhalb der Anwendung eindeutig sein
  managed-bean-classvoller Klassenname der Managed Bean, wird benutzt um bei einem Aufruf die Instanz zu erzeugen
  managed-bean-scopeGültigkeitsbereich einer 'managed bean' kann einen der Werte none, request, session, application annehmen
none - eine managed Bean mit diesem Gültigkeitsbereich wird zwischen den Anfragen nicht gespeichert und kann bei Bedarf jederzeit erzeugt werden.
request - die Werte einer Bean mit einem request Gültigkeitsbereich werden nur für die Dauer einer Anfrage gespeichert. Für nachfolgende Anfragen an das gleiche Objekt wird eine neue frisch initialisierte Version des Objektes bereitgestellt.
session - der Zustand einer Session Bean (die 'bean properties') wird über die gesamte Lebenszeit einer Session aufbewahrt. Mit dem Ablauf einer Session wird auch die Bean verworfen. Session Bean Objekte sind threadsafe. Ein Beispiel für eine Session Bean ist ein Warenkorb.
application - die Lebensdauer von Objekten im application scope entspricht der des umgebenden Container ( z.Bsp. ein datasource Objekt )
  managed-propertydefiniert eine einzelne Eigenschaft der Bean (kann für eine oder mehrere Properties angegeben werden aber auch ganz fehlen)
  descriptionBeschreibung der Bean Klasse
  display-nameKurzer beschreibender Name der Klasse für die Anzeige in JSF Design Werkzeugen
  iconKleine und grosse Icons für die Anzeige in JSF Design Werkzeugen


managed-property java.util.Map Beispiel


managed-property java.util.List Beispiel


Managed Beans - Wer sieht wen in welchem Scope/Gültikeitsbereich?

Bei Zugriff auf Managed Beans ist auf die "Verträglichkeit" bzgl. der Lebenszeit der Objekte zu achten. Nachfolgend die Aufzählung der Zugriffsmöglichkeiten ausden verschiedenen Gültigkeitsbereichen der Managed-Beans heraus.

  none => none
  request => none, request, session, application
  session => none, session, application
  application =>none, application

Regel: Es darf nur auf Objekte mit der gleichen Lebensdauer, Objekte mit größerer Lebensdauer oder Objekte vom none Scope zugegriffen werden.



Übersicht