2012-02-17 40 views

回答

12

確切的JSF實現版本信息可在JSF實現JAR文件的/META-INF/MANIFEST.MF文件中獲得。它通常位於清單文件底部附近,如下所示:

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

可以使用ZIP工具打開JAR文件。在Sun RI/Mojarra的情況下,文件名是jsf-impl.jar,有時候已經加了後綴,如jsf-impl-1.2_12-b01-FCS.jar。如果您使用的是JBoss 4.3.x提供的JSF實現,那麼您可以在$JBOSS_HOME/server/<Profile>/deploy/jboss-web.deployer/jsf-libs文件夾中找到該文件。如果您在/WEB-INF/lib中提供了自己的JSF實現並配置了web.xml以告訴JBoss使用它,那麼您需要在/WEB-INF/lib中提供的實例中檢查它。

或者,你可以得到它的編程方式:

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

至於faces-config.xml,有了它,你也可以控制JSF版本的應用程序是專爲。因此,如果您聲明它符合JSF 1.1規範,那麼即使JSF 1.2/2.0實現也會以JSF 1.1「兼容性模式」運行。但是當你使用JSF 1.1實現的實際上是時,你不能聲明它符合像JSF 1.2/2.0這樣的新版本。它會出錯或被忽略。

相關問題