【发布时间】:2013-12-03 16:27:35
【问题描述】:
我正在尝试识别我的 WebLogic 12c 正在使用的 Mojarra 的当前版本。我怎样才能知道呢?
【问题讨论】:
-
@BalusC 非常感谢。感谢您的帮助。
标签: jsf-2 mojarra weblogic12c
我正在尝试识别我的 WebLogic 12c 正在使用的 Mojarra 的当前版本。我怎样才能知道呢?
【问题讨论】:
标签: jsf-2 mojarra weblogic12c
一种方法是以编程方式从任意 JSF 类的 Package 信息中提取实现细节,例如 FacesContext。
Package p = FacesContext.class.getPackage();
System.out.println(p.getImplementationTitle() + " " + p.getImplementationVersion());
另一种方法是探索 WebLogic 安装的 /wlserver/modules 文件夹中的 JSF 模块。在我的 12c 安装中,文件名是 glassfish.jsf_1.0.0.0_2-1-20.jar,这反过来又标识了 Mojarra 2.1.20。
【讨论】:
#{facesContext.class.package.implementationTitle}: #{facesContext.class.package.implementationVersion}
class 和 package 是 Java 文字。你需要#{facesContext['class']['package'].implementationXxx}。
#{facesContext.class.package.implementationTitle}: #{facesContext.class.package.implementationVersion} 和 #{facesContext['class']['package'].implementationXxx}。对于该测试,web.xml 具有 web-app version="3.1",其中 Servlet 3.1 comes with JSP 2.3 and EL 3.0.。问:你是说第一个 El 表达式 #{facesContext.class.package.implementationXxx} 可能不适用于旧的 EL2.2 吗?