Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>As per the stacktrace,</p> <pre><code>java.lang.NoSuchMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext; at javax.servlet.jsp.jstl.core.LoopTagSupport.unExposeVariables(LoopTagSupport.java:587) </code></pre> <p>the JSTL <code>&lt;c:forEach&gt;</code> tag is expecting the method <a href="http://download.oracle.com/javaee/6/api/javax/servlet/jsp/JspContext.html#getELContext%28%29" rel="nofollow noreferrer"><code>PageContext#getELContext()</code></a>. This method was introduced in JSP 2.1. This exception thus suggests that you are using JSTL 1.2, while your container doesn't support JSP 2.1 or that you have littered your runtime classpath with servletcontainer specific JSP libraries of a container which doesn't support JSP 2.1. The runtime classpath covers among others the webapp's <code>/WEB-INF/lib</code> folder and Java's <code>JRE/lib</code> and <code>JRE/lib/ext</code> folders .</p> <p>You should <strong>never</strong> put servletcontainer specific libraries in those folders, such as <code>jsp-api.jar</code>, <code>servlet-api.jar</code>, <code>el-api.jar</code>, <code>j2ee.jar</code>, <code>javaee.jar</code>, etc..etc.. Those files which you usually see in <code>/lib</code> folder of the servletcontainer itself. E.g. <code>Tomcat/lib</code>. It makes your webapp unportable to the target servletcontainer. The target servletcontainer where you're running this webapp has those libraries <strong>already</strong>. If you did this to overcome compilation errors on JSP/Servlet packages, then you should have solved it differently. See also <a href="https://stackoverflow.com/questions/4076601/how-do-i-import-the-javax-servlet-api-in-my-eclipse-project">How do I import the javax.servlet API in my Eclipse project?</a></p> <hr> <p><strong>Update</strong>: as per your update, you're using Weblogic 9.2 which is a Servlet 2.4 / JSP 2.0 container. It does not support JSP 2.1 / JSTL 1.2 at all. You need to remove the JSTL 1.2 library. If I am not mistaken, Weblogic ships with JSTL 1.1 already. Otherwise you need to include it in the classpath (the <code>/WEB-INF/lib</code> folder) yourself. You can find a JSTL 1.1 download link in <a href="https://stackoverflow.com/tags/jstl/info">our JSTL wiki page</a>.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload