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