2011-09-22 16 views
8

Utilizzo di JBoss 6.0.0.Final, Richfaces 3.3.3.Final, MyFaces 2.0.6, facelets 1.1.15.B1 (una limitazione di RF 3).Come mescolare le annotazioni con faces-config.xml

Sono su un progetto legacy che contiene centinaia di bean definiti in faces-config.xml. Mi piacerebbe mantenere quelli definiti in faces-config.xml ma usare le annotazioni per i nuovi bean. Tuttavia, quando ho provato questo non ho avuto successo. I bean definiti mediante annotazione, ovvero

Il bean non è accessibile dalla mia pagina JSF. Credo di aver specificato la versione 2.0 nel mio faces-config.xml usando l'intestazione corretta.

<faces-config 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" 
    version="2.0"> 

C'è qualcos'altro che devo fare nel faces-config.xml per consentire le annotazioni da utilizzare anche?

risposta

9

fagioli con annotazioni verranno a mancare nei seguenti casi:

  1. /WEB-INF/faces-config.xml non sia stato dichiarato conforme alle JSF 2.0.

  2. @ManagedBean è di javax.annotation pacchetto anziché javax.faces.bean.

  3. La classe Bean non è stata compilata/incorporata in WAR /WEB-INF/classes.

  4. Il bean è contenuto in un file JAR che manca /META-INF/faces-config.xml.

  5. Un nome di bean gestito errato viene utilizzato in EL, dovrebbe essere il nome della classe del bean con il 1 ° carattere con custodia inferiore secondo le specifiche di Javabeans. Quindi nel tuo esempio particolare, #{fooBar} dovrebbe funzionare, ma non lo sarà #{FooBar}.

  6. Webapp è realtà utilizzando librerie 1.x JSF (potete leggere la versione JSF nel registro di avvio del server).

+1

Spiacenti, avrei dovuto specificare che non sto tentando di utilizzare sia la configurazione annotation che faces-config.xml per lo stesso bean. Voglio aggiungere nuovi bean senza dover migrare i vecchi bean fuori dall'uso di faces-config.xml – user959690

+0

Ho aggiornato la risposta. – BalusC

Problemi correlati