A sidenote: without adding <jsp:directive.page isELIgnored="false"/> to the main layout, JSTL will not be evaluated by appengine. This is a known issue in the GAE-java community. It is not required to deploy jstl.jar, I think it is provided at runtime by default.

Hans Westerbeek
added a comment - 14/Jun/10 6:06 AM BTW this may well be an appengine issue but I've created the issue here since it may also be caused by Roo's web.xml and the libs it ships to appengine

Thanks for reporting this. Can you please try to include an empty dummy.jsp file into your WEB-INF/views folder? As far as I remember GAE uses the Jasper JSP engine and they have currently only .jsp enabled as trigger to get Jasper started. If you include an empty .jsp file it should get things going. The GAE team is aware of this.

If this trick resolves the issue I'll contact them again to find out if they can enable .jspx triggering as well. I can also have the MVC addon temporarily include the empty jsp file into the user project until GAE is fixed.

Stefan Schmidt
added a comment - 14/Jun/10 10:30 AM Hans,
Thanks for reporting this. Can you please try to include an empty dummy.jsp file into your WEB-INF/views folder? As far as I remember GAE uses the Jasper JSP engine and they have currently only .jsp enabled as trigger to get Jasper started. If you include an empty .jsp file it should get things going. The GAE team is aware of this.
If this trick resolves the issue I'll contact them again to find out if they can enable .jspx triggering as well. I can also have the MVC addon temporarily include the empty jsp file into the user project until GAE is fixed.
-Stefan

Hans Westerbeek
added a comment - 14/Jun/10 7:55 PM In a different project (that does not use Roo), I have verified that placing a dummy.jsp file into WEB-INF/views indeed tricks GAE into compiling .jspx files.

Stefan Schmidt
added a comment - 14/Jun/10 9:22 PM Thanks Hans for the details provided. I'll take a closer look at your logs tomorrow.
Re the dummy.jsp trick, this was actually recommended by a Google engineer to us as a temp workaround. So they are definitely aware of the issue. I'll ping them again about it.

I am closing this issue as complete given the original problem described here 'Appengine does not process .jspx files' has been resolved with the dummy.jsp workaround. I have contacted the GAE team to find out if and when they will include jspx to be triggered directly in GAE.

The other issue you raised here is the compilation problem of the Roo generated jspx files in a GAE environment. The problem is the use of jasper-runtime-5.0.28.jar in the current version of GAE alongside geronimo-jsp_2.1_spec-1.0.1.jar. This means that GAE have an API which allows JSP 2.1 and an implementation of Jasper which only supports JSP 2.0. Spring Roo generated MVC apps use a number of JSP 2.1 features (mostly EL related) which are supported by all current Web containers but not GAE. (see http://code.google.com/p/googleappengine/issues/detail?id=1506)

As such GAE deployments are currently not supported by Roo generated Spring MVC applications. However, we are in contact with Google to resolve this issue as soon as possible. As a workaround Roo could ship a custom tag library (potentially with reduced functionality) to support JSP 2.0 EL.

Another issue which needs to be resolved is the full support of the default GAE data store. This will require changes outlined in ROO-611 to fully support references between domain objects.

Stefan Schmidt
added a comment - 16/Jun/10 1:41 PM Hans,
I am closing this issue as complete given the original problem described here 'Appengine does not process .jspx files' has been resolved with the dummy.jsp workaround. I have contacted the GAE team to find out if and when they will include jspx to be triggered directly in GAE.
The other issue you raised here is the compilation problem of the Roo generated jspx files in a GAE environment. The problem is the use of jasper-runtime-5.0.28.jar in the current version of GAE alongside geronimo-jsp_2.1_spec-1.0.1.jar. This means that GAE have an API which allows JSP 2.1 and an implementation of Jasper which only supports JSP 2.0. Spring Roo generated MVC apps use a number of JSP 2.1 features (mostly EL related) which are supported by all current Web containers but not GAE. (see http://code.google.com/p/googleappengine/issues/detail?id=1506 )
As such GAE deployments are currently not supported by Roo generated Spring MVC applications. However, we are in contact with Google to resolve this issue as soon as possible. As a workaround Roo could ship a custom tag library (potentially with reduced functionality) to support JSP 2.0 EL.
Another issue which needs to be resolved is the full support of the default GAE data store. This will require changes outlined in ROO-611 to fully support references between domain objects.
I have raised ROO-1006 to track the work on this.