Hey Nikul.

Double-check your interceptor stack.  It is only composed of your session 
interceptor.

Jb

Nikul Suthar <nikulsut...@gmail.com> wrote:

>Hi There,
>
>I'm pretty new to using Struts 2 for developing a web application. So I
>would be very thankful if someone can clear out this roadblock for me.
>
>I'm trying to write some custom validation code in method *public void
>validate()* in the Action class. I also created an interceptor extending *
>DefaultWorkflowInterceptor* checking for session object validity. But since
>I implemented the interceptor my validate method does not get executed at
>all. I need the validate method to be executed to implement custom field
>validations every time the request is received. Since I'm new to using
>Struts 2 this is the best design I could come up with. Your help in making
>the validate method execute every time the request is received without
>removing the interceptor will be highly appreciated. Following is my code:
>
>*ShowChangePassword2Of2Action*
>*
>*
>public class ShowChangePassword2Of2Action extends ActionSupport implements
>Validateable{
>    [Field variables]
>
>    public String show(){
>        [My business logic]
>    }
>
>    public void validate(){
>        [My validation logic]
>    }
>
>    [Field variables getters and setters]
>}
>
>
>
>*SessionInterceptor*
>*
>*
>public class SessionInterceptor extends DefaultWorkflowInterceptor{
>    private static final long serialVersionUID = 1L;
>
>    public String intercept(ActionInvocation invocation) throws Exception {
>    ActionContext context = invocation.getInvocationContext();
>    Map<String, Object> sessionMap = context.getSession();
>    if(sessionMap == null || sessionMap.isEmpty()){
>     System.out.println("Session expired...");
>     return "sessionExpired";
>    }//if
>    else{
>    return invocation.invoke();
>    }//else
>    }
>
>    public void destroy() {
>        System.out.println("Destroying Session Interceptor...");
>    }
>    public void init() {
>        System.out.println("Initializing Session Interceptor...");
>    }
>}
>
>
>
>*struts.xml*
>*
>*
><struts>
><package name="default" extends="struts-default">
><result-types>
><result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult"
>/>
></result-types>
> <interceptors>
>     <interceptor name="sessionInterceptor"
>class="org.zssinfo.interceptor.SessionInterceptor"></interceptor>
>    <interceptor-stack name="sessionInterceptorStack">
>        <interceptor-ref name="sessionInterceptor" />
>    </interceptor-stack>
></interceptors>
> <global-results>
><result name="sessionExpired" type="tiles">welcome</result>
></global-results>
> <action name="*ChangePassword2Of2" method="{1}"
>class="org.zssinfo.action.ShowChangePassword2Of2Action">
><interceptor-ref name="sessionInterceptorStack"></interceptor-ref>
><result name="success" type="tiles">showChangePassword2Of2</result>
><result name="showChangePassword2Of2Error" type="tiles">errorPage</result>
><result name="input" type="tiles">showChangePassword1Of2</result>
></action>
></package>
></struts>
>
>Thank you very much in advance.
>
>Thanks,
>Nikul

Reply via email to