How can I check what version of EL is server using
Solution 1:
EL version goes hand in hand with Servlet/JSP version which is dependent on the servletcontainer implementation/version used and also on the web.xml
root declaration of your webapp.
- Servlet 5.0 comes with JSP 3.0 and EL 4.0 (Jakarta EE 9).
- Servlet 4.0 comes with JSP 2.3 and EL 3.0 (Java EE 8).
- Servlet 3.1 comes with JSP 2.3 and EL 3.0 (Java EE 7).
- Servlet 3.0 comes with JSP 2.2 and EL 2.2 (Java EE 6).
- Servlet 2.5 comes with JSP 2.1 and EL 2.1 (Java EE 5).
- Servlet 2.4 comes with JSP 2.0 and EL 2.0 (J2EE 1.4).
- Servlet 2.3 comes with JSP 1.2 without EL (J2EE 1.3). EL is to be provided by JSTL 1.0 and works inside JSTL tags only.
WebSphere 7 is a Java EE 5 certified container which thus implies Servlet 2.5 which in turn thus comes with JSP/EL 2.1. However, if the web.xml
of your webapp is declared conform for example Servlet 2.4, then your webapp will run in Servlet 2.4 modus with JSP/EL 2.0.
Since you tagged this JSF, I guess that the sole purpose of this question is to figure out if you could use the new EL 2.2 feature of being able to invoke non-getter methods with arguments in EL. That's thus not natively supported by your container. However, you could install JBoss EL as per this answer to get it to work on Servlet 2.5 containers.
See also:
- Difference between JSP EL, JSF EL and Unified EL