Getting JSP EL to work on Google App Engine
I am developing an Spring 3.0 based web application that I intend to deploy to Google App Engine. But I’ve been banging my head against a brick wall for a day now trying to figure out why my ${xxx} expressions are not evaluating correctly.
The source of the problem seems to be a bug with Google App Engine. It would appear that even though I am using a Servlet 2.5 deployment descriptor that Google App Engine is behaving as if it was Servlet 2.3.
In Servlet 2.3 JSP expression language was not evaluated by default and it had to be explicitly enabled using the following below. However, since Servlet 2.4 the default behaviour is to evaluate the JSP expression language.
<%@ page isELIgnored="false" %>
So adding the above directive to my JSP page sorted my Google App Engine woes. But not before I’d developed some nasty bruising on my forehead.
Tagged as gae, java, jsp, spring + Categorized as Development, Workaround
THANK YOU!!!
I only spent about 1 hour banging my head before I realized I was having the same EL issue.
Thanks Brian. You just saved me hours, if not days.
Brian, thank you for saving my time.
I’m having also problems with taglib. AppEngine don’t want to compile it appropriately. Here is the output from AppEngine:
Exception in thread “main” org.apache.jasper.JasperException: Unable to compile class for JSP
Generated servlet error:
Feb 27, 2010 8:31:42 PM org.apache.jasper.compiler.Compiler generateClass
SEVERE: Javac exception
Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
Of course, I could examine and adjust JAVA_HOME on my local comp, but above is the output from AppEngine.
Maybe, by any chance, you have already been fighting with the same problem before?
I have one word: THANKS DUDE!
Thanks a lot. Solution is pretty simple, once you know the answer
Thanks for the great solution – you’re the man! I’d most likely still be googling in circles if it wasn’t for you.