xml – 什么决定了JSF版本?容器或面部配置?

我目前正在JBoss AS 4.3上运行一个旧的JSF应用程序.我相信这实现了JSF 1.2.但是,当我查看faces-config时,我发现它使用的是JSF 1.1 DTD.

我使用的是哪个版本的JSF?

JSF实现JAR文件的/meta-inf/MANIFEST.MF文件中提供了确切的JSF实现版本信息.它通常位于清单文件底部附近,如下所示:
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这样的新版本.它会出错或被忽略.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念