I added a PortletActionRedirectResult a couple of days ago. It "works", but beware of a little side effect of the portlet state handling, as commented in the issue.
To fix this, I need to do some changes to the logic preserving the value stack between the event and redirect phases. An event-render portlet request cycle is basically the same as a Post-Redirect-Get in a normal webapp. And with a PRG, state is supposed to be lost between the post and the get, am I not correct? If so, I just need to detect a proper PRG case (which is not too hard), and in that case, never store the valuestack on the session. Nils-H On 8/14/07, Rene Gielen <[EMAIL PROTECTED]> wrote: > Am So, 12.08.2007, 07:47, schrieb Nils-Helge Garli: > > Glad to see that the fix for the request wrapper seems to work. > > > > The current "dispatcher" portlet result type handles "redirect after > > post" already, since it's basically how the the event/render portlet > > model works. So I guess we could just point the redirectAction result > > type to PortletResult as well. > > > > This sound like a good solution. I was thinking of this being feasible the > last couple of days, too. I am currently working on a few hybrid apps, to > deploy alternatively as servlet or portlet, so I'm missing the redirect > result as well... > > > I have registered issue > > https://issues.apache.org/struts/browse/WW-2105 for this. > > > > Nils-H > > > > On 8/12/07, James Holmes <[EMAIL PROTECTED]> wrote: > >> Hey Nils-H, > >> > >> Thanks for committing the fix for using the valuestack to find request > >> attributes. It's working great for me so far in Jetspeed 2. > >> > >> I've run into another issue with converting my Struts app to a portlet > >> from a standard web app. I was using the "redirectAction" result type > >> for "redirect after post" > >> functionality, but that is not working in the porlet environment. I'm > >> wondering if there is a way to make this work. I know there are other > >> ways to implement redirects to > >> actions and the "redirectAction" may not be necessary in portlets, but > >> it would be nice if it did from the perspective of being able to easily > >> switch between Web app and > >> portlet versions of an application. > >> > >> The issue seems to be ServletRedirectResult.doExecute() on line 146 > >> where it tries to run PortletServletResponse.encodeRedirectURL() (that > >> throws exception because it's > >> not implemented. Perhaps we could implement something? We'd also have to > >> provide an implementation for PortletServletResponse.sendRedirect() as > >> well. Not sure this even > >> makes sense though the more I think about it. > >> > >> 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]
