.

JavaServer Faces 2.0 Ein Arbeitsbuch für die Praxis

作者:
ISBN :
出版日期:
2011-04-14 00:00:00
语言:
国家地区:
.
704 JavaServer Faces im Detail@ManagedProperty ( value = " 3.1415 " ) private Double pi ; ... }Listing 4.6 zeigt die mit @ManagedBean und @SessionScoped annotierte Klasse MBAnnotationHandler. Die @ManagedBean-Annotation erzeugt aus einem POJO eine Managed Bean analog zum -Element der JSFKonurationsdatei. Die @SessionScoped-Annotation bedingt, dass diese Bean im Session-Scope existiert und entspricht daher dem -Element mit Wert session. Die den anderen Scopes entsprechenden Annotationen sind @NoneScoped, @RequestScoped, @ViewScoped und @ApplicationScoped. Falls keine Scope-Annotation angegeben wird, det der Default @RequestScoped Verwendung. Whrend bei der XML-Konuration von Managed Beans der Name der Bean a explizit angegeben werden muss, wird uber die @ManagedBean-Annotation au tomatisch ein Name vergeben. Dieser entsteht aus dem Klassennamen durch Kleinschreibung des ersten Buchstabens, im Listing 4.6 also mBAnnotationHandler. Dieser kann, wie im Beispiel geschehen, durch das name-Attribut uberschrieben werden. Auf Ebene der Bean-Deklaration knnen somit Annotationen die XML-Kon乷 guration vollstndig ersetzen. Auf der Ebene der Initialisierung von Beana Properties ist dies nicht der Fall. Die Annotation @ManagedProperty injiziert den Wert des value-Attributs in das annotierte Property. Als Wert sind Strings, wie im Beispiel in Listing 4.6, oder EL-Werteausdrcke erlaubt. Falls u das Property nicht vom Typ String ist, erfolgt eine Konvertierung der StringDarstellung des Wertes in den Property-Typ. Dies gilt als Faustformel fr alu le einfachen Java-Datentypen, fr die JSF Standardkonvertierer vorhlt. Wir u a stellen diese in Abschnitt 4.4 ausfhrlich dar. u Falls das Property einen komplexeren Datentyp hat, kann keine Konvertierung mit den Standardkonvertierern erfolgen. Dieses Problem gibt uns die Gelegenheit, den oben erwhnten EL-Werteausdruck als Wert der @ManagedPropertya Annotation in einem Beispiel zu verwenden. Wir erweitern die Klasse MBAnnotationHandler und stellen die Erweiterungen in Listing 4.7 dar.Listing 4.7: Die erweiterte Klasse MBAnnotationHandler@ManagedBean ( name = " mbAnnotationHandler " ) @SessionScoped
本书内搜索
序号 页码 相关内容
您还未搜索