|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Interceptor
An interceptor is a stateless class that follows the interceptor pattern, as
found in Filter
and in AOP languages.
ActionInvocation
execution and return a return code
(such as Action.SUCCESS
), or it may choose to do some processing before
and/or after delegating the rest of the procesing using ActionInvocation.invoke()
.
Interceptor's parameter could be overriden through the following ways :-
Method 1:
<action name="myAction" class="myActionClass"> <interceptor-ref name="exception"/> <interceptor-ref name="alias"/> <interceptor-ref name="params"/> <interceptor-ref name="servlet-config"/> <interceptor-ref name="prepare"/> <interceptor-ref name="i18n"/> <interceptor-ref name="chain"/> <interceptor-ref name="model-driven"/> <interceptor-ref name="fileUpload"/> <interceptor-ref name="static-params"/> <interceptor-ref name="params"/> <interceptor-ref name="conversionError"/> <interceptor-ref name="validation"> <param name="excludeMethods">myValidationExcudeMethod</param> </interceptor-ref> <interceptor-ref name="workflow"> <param name="excludeMethods">myWorkflowExcludeMethod</param> </interceptor-ref> </action>Method 2:
<action name="myAction" class="myActionClass"> <interceptor-ref name="defaultStack"> <param name="validation.excludeMethods">myValidationExcludeMethod</param> <param name="workflow.excludeMethods">myWorkflowExcludeMethod</param> </interceptor-ref> </action>In the first method, the whole default stack is copied and the parameter then changed accordingly. In the second method, the
<interceptor-name>.<parameter-name>Note also that in this case the
<interceptor name="interceptor1" class="foo.bar.Interceptor1" /> <interceptor name="interceptor2" class="foo.bar.Interceptor2" /> <interceptor name="interceptor3" class="foo.bar.Interceptor3" /> <interceptor name="interceptor4" class="foo.bar.Interceptor4" /> <interceptor-stack name="stack1"> <interceptor-ref name="interceptor1" /> </interceptor-stack> <interceptor-stack name="stack2"> <interceptor-ref name="intercetor2" /> <interceptor-ref name="stack1" /> </interceptor-stack> <interceptor-stack name="stack3"> <interceptor-ref name="interceptor3" /> <interceptor-ref name="stack2" /> </interceptor-stack> <interceptor-stack name="stack4"> <interceptor-ref name="interceptor4" /> <interceptor-ref name="stack3" /> </interceptor-stack>Assuming the interceptor has the following properties
Interceptor | property |
Interceptor1 | param1 |
Interceptor2 | param2 |
Interceptor3 | param3 |
Interceptor4 | param4 |
<action ... > <!-- to override parameters of interceptor located directly in the stack --> <interceptor-ref name="stack4"> <param name="interceptor4.param4"> ... </param> </interceptor-ref> </action> <action ... > <!-- to override parameters of interceptor located under nested stack --> <interceptor-ref name="stack4"> <param name="stack3.interceptor3.param3"> ... </param> <param name="stack3.stack2.interceptor2.param2"> ... </param> <param name="stack3.stack2.stack1.interceptor1.param1"> ... </param> </interceptor-ref> </action>
Method Summary | |
---|---|
void |
destroy()
Called to let an interceptor clean up any resources it has allocated. |
void |
init()
Called after an interceptor is created, but before any requests are processed using intercept , giving
the Interceptor a chance to initialize any needed resources. |
String |
intercept(ActionInvocation invocation)
Allows the Interceptor to do some processing on the request before and/or after the rest of the processing of the request by the ActionInvocation or to short-circuit the processing and just return a String return code. |
Method Detail |
---|
void destroy()
void init()
intercept
, giving
the Interceptor a chance to initialize any needed resources.
String intercept(ActionInvocation invocation) throws Exception
ActionInvocation
or to short-circuit the processing and just return a String return code.
ActionInvocation.invoke()
, or from the interceptor itself.
Exception
- any system-level error, as defined in Action.execute()
.
|
WebWork Project Page | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |