Thank you but it seems that this method in never called in struts 1.3 that I
am using.
The default request processor class is ComposableRequestProcessor which
happened to override the process method and it never calls
processPreproccessor.
Thus the solution could be to override the process method of
ComposableRequestProcessor and do the hook, but I looking for much cleaner
solution.
I am dreaming of some hook that returns ActionForward that will be processed
before all my action classes.
Regards,
_____
From: Venkata Phani Kumar [mailto:[EMAIL PROTECTED]
Sent: Friday, November 17, 2006 8:58 AM
To: Struts Users Mailing List
Cc: [EMAIL PROTECTED]
Subject: Re: A Filter Action !
Hi youssef,
You can override RequestProcessor instead.
The required steps are
1) in struts-config.xml
<controller>
<set-property property="processorClass" value="your controller
class which extends RequestProcessor"/>
</controller>
2) Create a Class wich extends RequestProcessor
If you are using Tile Framework you have extend from
TilesRequestProcessor
3) Then override method processPreprocess() and do your logic in that method
like
public class ModReqProcessor extends TilesRequestProcessor {
@Override
protected boolean processPreprocess(HttpServletRequest request,
HttpServletResponse response) {
HttpSession session = request.getSession(false);
// Check user object here
// and return appropriate boolean variable
// if user object present return true
// otherwise forward to your error page using
RequestDispatcher.forward()
}
}
I hope this will help you
----- Original Message -----
From: Youssef A. Mohammed <mailto:[EMAIL PROTECTED]>
To: 'Struts <mailto:[email protected]> Users Mailing List'
Sent: Thursday, November 16, 2006 10:53 PM
Subject: A Filter Action !
Folks;
I want to set of action classes that should operate only when
user object in the session. How can I add some filter action to forward to
some page (action forward) and bypass the main action classes.
Regards,
Youssef A. Mohammed Ali
Senior System Analyst
<http://www.ejada.com.sa/>
Tel.: + (966 1) 472 2277 Ext. 226
Fax: + (966 1) 472 4772
P. O. Box: 55471 Riyadh, 11534, KSA