|
||||||||||
| 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 | |||||||||