2012-02-17 12 views

risposta

12

Le informazioni esatte sulla versione di implementazione JSF sono disponibili nel file /META-INF/MANIFEST.MF del file JAR di implementazione JSF. Di solito si trova nella parte inferiore del file manifesto come segue:

Implementation-Title: Mojarra 
Implementation-Version: 1.2_12-b01-FCS 
Implementation-Vendor: Sun Microsystems, Inc. 

Un file JAR può essere aperto con un attrezzo ZIP. Nel caso di Sun RI/Mojarra, il nome file è jsf-impl.jar, a volte già suffisso con il numero di versione esatto come jsf-impl-1.2_12-b01-FCS.jar. Se stai utilizzando l'implementazione JSF fornita da JBoss 4.3.x, puoi trovare il file nella cartella $JBOSS_HOME/server/<Profile>/deploy/jboss-web.deployer/jsf-libs. Se hai fornito la tua implementazione JSF in /WEB-INF/lib e configurato web.xml per comunicare a JBoss di utilizzarlo, devi invece verificarlo in quello fornito in /WEB-INF/lib.

In alternativa, si può solo ottenere a livello di codice:

Package jsfPackage = FacesContext.class.getPackage(); 
String implTitle = jsfPackage.getImplementationTitle(); 
String implVersion = jsfPackage.getImplementationVersion(); 
String implVendor = jsfPackage.getImplementationVendor(); 

Per quanto riguarda la faces-config.xml, con esso è anche possibile controllare quale versione JSF l'applicazione è progettata per. Quindi se hai dichiarato conforme la specifica JSF 1.1, allora anche un'implementazione JSF 1.2/2.0 verrà eseguita in "modalità di compatibilità" di JSF 1.1. Ma non è possibile dichiarare conforme una versione più recente come JSF 1.2/2.0 quando si è in realtà utilizzando un'implementazione JSF 1.1. Si guasterà o sarà ignorato.

Problemi correlati