Hm...this might be a tricky one. The portlet spec says nothing about request wrappers, and trying to wrap the portlet requests might result in undetermined behaviour. I tried onece, with pluto, but pluto relies on it's internal implementation classes, so you'll get a classcastexception if it encounters a wrapped portlet request that is not it's own... To make it work, we would have to create separate wrapper strategies for (possibly) each portlet container. Most portal servers are using pluto, but it still might be some work, and not to mention a big task maintaining it, as new version of the containers are released.
What attribute lookups are failing? Couldn't they be placed as a "real" request attribute to make it work? Nils-H On 8/11/07, James Holmes <[EMAIL PROTECTED]> wrote: > I'm moving a Struts 2 app from a standard Web app to being a portlet. During > the process, my Displaytag instances started failing. They weren't finding > any data. I > tracked down the problem to the fact that Displaytag looks for the list of > data it displays in request scope. This worked fine when run as a standard > Web app because > StrutsRequestWrapper.getAttribute() looks up objects on the Struts 2 > valuestack. Portlet requests are not wrapped with StrutsRequestWrapper, thus > the getAttribute() > method never gets called and objects on the Struts 2 valuestack are not > interrogated. > > For consistency (and just because it's incredibly useful functionality), the > Struts 2 portlet code should also look up request objects on the valuestack. > I'm not sure if > the portlet mock servlet code that Nils-H checked in to the trunk yesterday > fixes this issue. If not, I can open a JIRA ticket to address this. > > I wanted to check with everyone, most specifically Nils-H, about this before > I opened a JIRA ticket. > > Thoughts? > > James > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]