If you trigger an expression lookup on an object that exists, but get it looking for a method which doesn't, you will end up with a blank screen and nothing in the logs – at best you have to figure out what you last changed in the JSP/Velocity file, at worst you have to go through it line-by-line to find the problem.
I suspect this might be specific to WebWork/Struts but it could be deeper, my stacks point to org.apache.jasper.runtime.PageContextImpl.evaluateExpression() on line 984. What strikes me as odd is that when downloading the source for Apache Tomcat v4.1, v5.5 and v6.0, none of the PageContextImpl.java files have more than 940 lines in them! I must be looking at the wrong file.
- Setup a simple Struts based AppFuse site
- Create/find an action which has an object (for me this was a List<Customer>)
- Add the following (or similar) to the result JSP: <c:out value="$
"/> (customers must be an object, and kaboom can't exist)
- Run the action and you should end up with a white screen and nothing in the logs
Good question ... I'm happy to help if someone can give me some pointers as I'm stuck at this point.