It's not working as written because OGNL doesn't search JEE scopes. You need to explicitly tell OGNL to look in the request scope.
That said, Nishan's point is well-taken--there's no reason to do it like this, twice over. If you *are* dead-set on putting an object in the request it's much, much cleaner to implement RequestAware as opposed to ServletRequestAware. RequestAware doesn't tie your action to the servlet spec, making it significantly easier to test in isolation.
But again, simply exposing your ArrayList as an action property is cleaner, and your original JSP would work.
On a final note, in general we shouldn't define our variables as ArrayList, but as List or Collection: the implementation of the list is a detail we're only rarely concerned about in cases like this.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com