It turns out that ${ServletRequest.requestURI } is the correct OGNL expression. Of course you need to have a "getServletRequest" method in your action superclass, which means all of your actions for your application that requires a login will have to implement that method or subclass from a class that does.
Dale, the "parse" param is set to true by default so I didn't have to set it. The second part requires redirecting to the origurl location after a successful login. This the OGNL expression I have so far, but it's not working yet. I'll post again once i fix it. <param name="location">${#ServletRequest.parameter["origurl"] == null ? " Welcome.do" : #ServletRequest.parameter["origurl"]}</param> On 4/8/07, Jae K <[EMAIL PROTECTED]> wrote:
Right after posting this I realized that my AuthenticationInterceptor was the first interceptor to be called, and that's why the ServletRequest object wasn't set. AAAHHHHHhh. I've been burned by the config twice already (the first time was when using the struts-default.xml config, ValidationInterceptor is configured not to validate for certain methods), but I'm willing to admit that it's my dumb oversight. Now I need to get the OGNL syntax right. On 4/8/07, Jae K <[EMAIL PROTECTED]> wrote: > > Sigh... I tried tackling the first half of this problem today. The first > part is getting the original requested URL as a parameter to the > RedirectActionResult. > > </global-results> > <result name="login" type="redirect-action"> > <param name="actionName">Login</param> > <param name="namespace">/</param> > <param name="origurl">${ServletRequest.requestURI}</param> <-- not sure about the OGNL here. > </result> > </global-results> > > All of my actions extend MySupport, which implement ServletRequestAware. > I fired my debugger to see whether the request object would even be set > (with the setServletRequest method) in my action before the redirect-action > is executed. NO! I don't think I can access the ServletRequest object from > the redirect-action configuration! > > My only remaining option is to create my own redirect class that taps > into the ServletRequest object via the invocation object. Rigth now S2 is > looking very very unattractive as a web framework, because the OGNL features > are not well documented (esp in relation to struts results), and because the > given Result and Interceptor classes are not suitable for my basic needs > such as resume after redirect. > > - Jae > > On 4/6/07, Dave Newton < [EMAIL PROTECTED]> wrote: > > > > --- meeboo <[EMAIL PROTECTED]> wrote: > > > One last question regarding this. As I beforehand > > > don't know where to redirect the user after the > > login > > > action I will have to implement the > > > ServletResponseAware interface and then use the > > > HttpServletResponse for this. This seems like an > > ugly > > > way to redirect the user, are there other ways > > maybe? > > > > As someone else mentioned if you are using an > > interface to set the original URL (like void > > setOriginalUrl(String) & String getOriginalUrl()) then > > you can map a redirect in your action's config, more > > or less like the following: > > > > <result type="redirect">${originalUrl}</result> > > > > That was a day or two ago; I don't have a reference to > > it handy and I don't recall who the poster was. > > > > d. > > > > > > > > > > ____________________________________________________________________________________ > > > > It's here! Your new message! > > Get new email alerts with the free Yahoo! Toolbar. > > http://tools.search.yahoo.com/toolbar/features/mail/ > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > >