Many thanks for opening the ticket and putting together the initial code! I am testing it now and it is working for me using Jetspeed 2. The Displaytag library is now picking up objects on the valuestack.
One thing I noticed though is that you have to define the DispatcherServlet in web.xml using the specific name "dispatcherServlet". I'm wondering if there is a way to make this dynamic. By that I mean that you can use any name for the servlet and the Struts 2 portlet code will automatically find the servlet. If not, I propose we make the name be something like "Struts2PortletDispatcherServlet" that is more descriptive and less likely to have any name conflict with another servlet someone might have.