You are going to want to define at least the 2 results 'success' and 'input'
for FindUserAction.
The 'input' result should not be a redirect, it should be to a jsp (or
Freemarker, or velocity, etc).
Here is an example from my app using struts.xml configuration:
<action name="UserList" class="my.xxx.struts.UserListAction"
method="doList">
<result>/struts/UserList.jsp</result>
<result name="input">/struts/UserList.jsp</result>
</action>
I don't use annotations to define results but I think it would look like
this:
@Results({
@Result (name="success", location="/struts/User/List.jsp"),
@Result (name="input", location="/struts/User/List.jsp")
})
On Wed, Aug 12, 2009 at 1:48 PM, spsarolkar <[email protected]> wrote:
>
> thanks i missed that
>
> But i am not able to understand statement
>
> Here is my FindUser.action
> @ParentPackage("base-package")
> public class FindUserAction extends UserAction implements
> ServletRequestAware {
> HttpServletRequest request;
> public void setServletRequest(HttpServletRequest httpServletRequest) {
> request=httpServletRequest;
> }
> public String execute(){
> if(user!=null) request.getSession().setAttribute("user",user);
> return SUCCESS;
> }
> }
>
> Here is struts.xml
>
> <struts>
> <constant name="struts.codebehind.defaultPackage" value="base-package"
> />
> <constant name="struts.codebehind.pathPrefix" value="/WEB-INF/jsp/"/>
>
> <package name="base-package" extends="struts-default">
> <interceptors>
> <interceptor name="redirectMessage"
> class="org.xinus.interceptors.RedirectMessageInterceptor" />
> <interceptor-stack name="myStack">
> <interceptor-ref name="redirectMessage" />
> <interceptor-ref name="paramsPrepareParamsStack" />
> </interceptor-stack>
> </interceptors>
>
> <default-interceptor-ref name="myStack" />
>
> <global-results>
> <result name="unknownError">/WEB-INF/jsp/error.jsp</result>
> </global-results>
> <global-exception-mappings>
> <exception-mapping exception="java.lang.Exception"
> result="unknownError"/>
> <exception-mapping
> exception="org.hibernate.exception.ConstraintViolationException"
> result="dupPK"/>
> </global-exception-mappings>
> <action name="index" class="org.xinus.actions.BaseAction">
> <result name="success">/WEB-INF/jsp/index.jsp</result>
> </action>
> </package>
> <!--<package name="myPackage" extends="struts-default">
> <action name="index" class="org.xinus.IndexAction">
> <result>/jsp/index.jsp</result>
> </action>
> <action name="helloWorld" class="helloWorldAction">
> <result name="input">/jsp/index.jsp</result>
> <result>/jsp/helloWorld.jsp</result>
> </action>
> </package>-->
> </struts>
>
>
> Whatever that statement means I got that I need to configure input result
> for FindUser.action. Can you please help me understand what is workflow
> interceptor doing here. I know about workflow interceptor as it is
> responsible for calling validate method on action if action implements
> ValidationAware interface and collecting errors if any
>
> maybe I should point result like this
> @ParentPackage("base-package")
>
> @Result(name="input",value="findUser",type=ServletActionRedirectResult.class)
> public class FindUserAction extends UserAction implements
> ServletRequestAware {
> HttpServletRequest request;
> public void setServletRequest(HttpServletRequest httpServletRequest) {
> request=httpServletRequest;
> }
> public String execute(){
> if(user!=null) request.getSession().setAttribute("user",user);
> return SUCCESS;
> }
> }
>
>
>
> Greg Lindholm-2 wrote:
> >
> > No result defined for action org.xinus.actions.user.FindUserAction and
> >> result input at
> >>
> >
> > From the write up at:
> >
> http://glindholm.wordpress.com/2008/07/02/preserving-messages-across-a-redirect-in-struts-2/
> >
> > The one thing you need to be aware of is: The action you are redirecting
> > towards will need to configure a result with name=”input” as the added
> > messages will trigger the ‘workflow’ interceptor to return a result of
> > “input”.
> >
> > You need to configure a result of 'input' for action FindUserAction.
> >
> > If you don't know what this means then post your struts configuration
> > (struts.xml).
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Validation-does-not-work-on-redirect-result-tp24939128p24941557.html
> Sent from the Struts - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>