Verwenden von JBoss 6.0.0.Final, Richfaces 3.3.3.Final, MyFaces 2.0.6, Facelets 1.1.15.B1 (eine Einschränkung von RF 3).
Ich bin in einem Legacy-Projekt, das Hunderte von in faces-config.xml
definierten Beans enthält. Ich möchte diese in faces-config.xml definiert behalten, aber Annotationen für neue Beans verwenden. Als ich das versucht habe, hatte ich keinen Erfolg. Die durch Annotation definierten Beans, d. H.
Auf die Bean kann von meiner JSF-Seite aus nicht zugegriffen werden. Ich glaube, dass ich die Version 2.0 in meiner faces-config.xml spezifiziert habe, indem ich die richtige Überschrift benutzte.
%Vor% Muss ich noch etwas in faces-config.xml
tun, damit Anmerkungen auch verwendet werden können?
Annotierte Beans schlagen in den folgenden Fällen fehl:
/WEB-INF/faces-config.xml
wurde nicht für JSF 2.0 deklariert.
@ManagedBean
ist von javax.annotation
package anstelle von javax.faces.bean
.
Die Bean-Klasse wurde nicht in WAR /WEB-INF/classes
kompiliert / eingebaut.
Bean ist in einer JAR-Datei verpackt, in der /META-INF/faces-config.xml
fehlt.
In EL wird ein falscher Namen für verwaltete Bean verwendet. Es sollte der Name der Bean-Klasse sein, wobei das erste Zeichen gemäß Javabeans spec. In Ihrem Beispiel sollte also #{fooBar}
funktionieren, aber #{FooBar}
nicht.
Webapp ist tatsächlich mit JSF 1.x-Bibliotheken (Sie können die JSF-Version im Server-Startprotokoll lesen).