views:

50

answers:

2

My problem is, that when the <c:if tag is reached the following problem occurs.

I am using Spring on google app engine.

java.lang.AbstractMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;
    at javax.servlet.jsp.jstl.core.LoopTagSupport.unExposeVariables(LoopTagSupport.java:620)
    at javax.servlet.jsp.jstl.core.LoopTagSupport.doFinally(LoopTagSupport.java:354)
    at org.apache.jsp.WEB_002dINF.views.templates.master_005fb_jsp._jspx_meth_c_forEach_0(master_005fb_jsp.java:544)
    at org.apache.jsp.WEB_002dINF.views.templates.master_005fb_jsp._jspx_meth_c_if_0(master_005fb_jsp.java:482)
    at org.apache.jsp.WEB_002dINF.views.templates.master_005fb_jsp._jspService(master_005fb_jsp.java:314)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
+2  A: 

The java.lang.AbstractMethodError means that an abstract method as mentioned in the error message which is declared in some (abstract) API in the current runtime classpath is missing in the concrete implementation in the current runtime classpath.

In this case it's the javax.servlet.jsp.PageContext.getELContext() method. As per the javadocs this abstract method was introduced in JSP 2.1. The concrete implementation is the server you're currently using.

This can be caused by having a jsp-api.jar of a different server make/version supporting JSP 2.1 in the runtime classpath of your webapp, most likely in /WEB-INF/lib folder, while the GAE server you're using doesn't implement JSP 2.1. Get rid of all server-specific libraries in the runtime classpath of your webapp. They doesn't belong there. They belongs (and are already) in the server's library.

BalusC
+1  A: 

Try using an older version of JSTL. It looks like you're using 1.2 and you should probably be using 1.1.

kschneid