This code works on WebSphere 7.0. On WebSphere 8.5.5.9 Liberty profile I get the following error.
I was able to capture the source code of the invoking JSP class .
My JSP is not process this request.
Application Error (people selection)
SRVE0777E: Exception thrown by application class 'com.ibm.ws.jsp23.translator.visitor.validator.ELValidatorExtImpl.validateElFunction:44'
com.ibm.ws.jsp.translator.JspTranslationException: JSPG0122E: Unable to parse EL function ${class}.
at com.ibm.ws.jsp23.translator.visitor.validator.ELValidatorExtImpl.validateElFunction(ELValidatorExtImpl.java:44)
at [internal classes]
at com.ibm._jsp._myCalArea._jspx_meth_c_if_4(_myCalArea.java:1440)
at com.ibm._jsp._myCalArea._jspx_meth_c_if_3(_myCalArea.java:1820)
at com.ibm._jsp._myCalArea._jspService(_myCalArea.java:203)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:101)
at [internal classes]
..
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1290)
at [internal classes]
I checked the exact line number and this is what it looks like.
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/JSP/myCalAreaPeople.jsp" + "?" +
org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("defaultenddate", request.getCharacterEncoding()) + "=" +
org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${defaultenddate}",
java.lang.String.class, (PageContext)pageContext, _jspx_fnmap, false), request.getCharacterEncoding()), out, true);
Second similar exception .
Application Error (devices only selection)
SRVE0777E: Exception thrown by application class 'com.ibm.ws.jsp23.translator.visitor.validator.ELValidatorExtImpl.validateElFunction:44'
com.ibm.ws.jsp.translator.JspTranslationException: JSPG0122E: Unable to parse EL function ${class}.
at com.ibm.ws.jsp23.translator.visitor.validator.ELValidatorExtImpl.validateElFunction(ELValidatorExtImpl.java:44)
at [internal classes]
at com.ibm._jsp._myCalArea._jspx_meth_c_if_9(_myCalArea.java:1739)
at com.ibm._jsp._myCalArea._jspx_meth_c_if_3(_myCalArea.java:1826)
at com.ibm._jsp._myCalArea._jspService(_myCalArea.java:203)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:101)
at [internal classes]
..
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1290)
at [internal classes]
I checked the JSP Java source code and this is the exact line number.
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/JSP/myCalAreaDevice.jsp" + "?" +
org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("defaultenddate", request.getCharacterEncoding()) + "=" +
org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${defaultenddate}",
java.lang.String.class, (PageContext)pageContext, _jspx_fnmap, false), request.getCharacterEncoding()), out, true);
Yet this Line number works correctly.
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/JSP/myCalSchedule.jsp" + "?" +
org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("defaultenddate", request.getCharacterEncoding()) + "=" +
org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${defaultenddate}",
java.lang.String.class, (PageContext)pageContext, _jspx_fnmap, false), request.getCharacterEncoding()), out, true);
Any idea what is a miss in the above erroring out line numbers. The line that works is compiled in the Java source code almost identical to those that are failing so what is causing this error. I also referred to this link. JSPG0122E: Unable to parse EL function in Websphere 8
Thanks DJ