Are you sure you need to do it like this? You can use OGNL expressions in your S2 configuration file to do things like set a URL to redirect to etc.
Dave --- Filipe David Manana <[EMAIL PROTECTED]> wrote: > Hi, > > I am trying to use an action that returns directly instances of the > Result class, due to the nature of my application where the result is > dynamically decided by some logic. > > My action class method is: > > public Result doLogin() throws Exception > { > // etc... > if ( !validUser ) > { > addActionError("Authentication failed. Invalid > username/password provided."); > return new ServletDispatcherResult("/jsp/login.jsp"); > } > > // valid user > session.put("user", userName); > > ServletActionRedirectResult result = > (ServletActionRedirectResult) session.get("_prev_uri_"); > > if ( result == null ) > { > result = new ServletActionRedirectResult("/home", "home", > "execute"); > } > > return result; > } > > My struts.xml: > > <action name="doLogin" class="actions.LoginAction" method="doLogin"> > </action> > > After executing the action's method I always get a > NullPointerException from ServletActionRedirectResult :S > > exception > > javax.servlet.ServletException: java.lang.NullPointerException > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515) > > org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) > > org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99) > > root cause > > java.lang.NullPointerException > > org.apache.struts2.dispatcher.ServletActionRedirectResult.execute(ServletActionRedirectResult.java:184) > > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:348) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253) > > actions.CaptureLastURIRequestedInterceptor.intercept(CaptureLastURIRequestedInterceptor.java:48) > > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) > > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) > > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) > > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:504) > > org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) > > org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99) > > Am I missing something? > > cheers > > -- > Filipe David Manana, > [EMAIL PROTECTED] > > Obvious facts are like secrets to those not trained to see them. > > --------------------------------------------------------------------- > 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]