2013-11-19 5 views

ответ

13

Один из способов заключается в программном извлечении детали реализации из информации произвольного класса JSF, например FacesContext.

Package p = FacesContext.class.getPackage(); 
System.out.println(p.getImplementationTitle() + " " + p.getImplementationVersion()); 

Другим способом было бы изучить модуль JSF в /wlserver/modules папке установки WebLogic. В моей установке 12c имя файла говорит glassfish.jsf_1.0.0.0_2-1-20.jar, что, в свою очередь, указывает Mojarra 2.1.20.

+0

Спасибо, удобно также как выражение EL: '# {facesContext.class.package.implementationTitle}: # {facesContext.class.package.implementationVersion}' –

+1

@Webel: это не сработает в реализациях EL 2.2 как 'class' и' package 'являются литералами Java. Вам понадобится '# {facesContext ['class'] ['package']. ImplementationXxx}'. – BalusC

+0

Обе эти работы на Мохарре: 2.2.7; Glassfish4.1; [из NetBeans8.1beta;] JDK1.7. '# {facesContext.class.package.implementationTitle}: # {facesContext.class.package.implementationVersion}' и '# {facesContext ['class'] ['package']. implementationXxx}'. Для этого теста web.xml имеет веб-приложение версии = «3.1», где [Servlet 3.1 поставляется с JSP 2.3 и EL 3.0.] (Http://stackoverflow.com/questions/7237000/how-can-i-check -что-версия-оф-эль-это-сервер с использованием). Q: Вы указываете, что первое выражение El '# {facesContext.class.package.implementationXxx}', возможно, не работало с более старым EL2.2? –