| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.struts2.interceptor.MessageStoreInterceptor
public class MessageStoreInterceptor
 An interceptor to store a ValidationAware action's messages / errors and field errors into
 HTTP Session, such that it will be retrieveable at a later stage. This allows the action's message /
 errors and field errors to be available longer that just the particular HTTP request.
 
ValidationAware action's message / errors
 and field errors into HTTP session.
 
 In the 'RETRIEVE' mode, the interceptor will retrieve the stored action's message / errors  and field
 errors and put them back into the ValidationAware action.
 
 
 In the 'AUTOMATIC' mode, the interceptor will always retrieve the stored action's message / errors 
 and field errors and put them back into the ValidationAware action, and after Action execution, 
 if the Result is an instance of ServletRedirectResult, the action's message / errors 
 and field errors into automatically be stored in the HTTP session..
 
 The interceptor does nothing in the 'NONE' mode, which is the default.
 
 The operation mode could be switched using :- 
 1] Setting the iterceptor parameter eg.
 
   <action name="submitApplication" ...>
      <interceptor-ref name="store">
         <param name="operationMode">STORE</param>
      </interceptor-ref>
      <interceptor-ref name="defaultStack" />
      ....
   </action>
 
 2] Through request parameter (allowRequestParameterSwitch must be 'true' which is the default)
 // the request will have the operation mode in 'STORE' http://localhost:8080/context/submitApplication.action?operationMode=STORE
 
 <action name="submitApplication" ....>
    <interceptor-ref name="store">
      <param name="operationMode">STORE</param>
    </interceptor-ref>
    <interceptor-ref name="defaultStack" />
    <result name="input" type="redirect">applicationFailed.action</result>
    <result type="dispatcher">applicationSuccess.jsp</result>
 </action>
 <action name="applicationFailed" ....>
    <interceptor-ref name="store">
       <param name="operationMode">RETRIEVE</param>
    </interceptor-ref>
    <result>applicationFailed.jsp</result>
 </action>
 
 
 
 With the example above, 'submitApplication.action' will have the action messages / errors / field errors stored
 in the HTTP Session. Later when needed, (in this case, when 'applicationFailed.action' is fired, it
 will get the action messages / errors / field errors stored in the HTTP Session and put them back into
 the action.
 
| Field Summary | |
|---|---|
static String | 
actionErrorsSessionKey
 | 
static String | 
actionMessagesSessionKey
 | 
private  boolean | 
allowRequestParameterSwitch
 | 
static String | 
AUTOMATIC_MODE
 | 
static String | 
fieldErrorsSessionKey
 | 
private static Logger | 
LOG
 | 
static String | 
NONE
 | 
private  String | 
operationMode
 | 
private  String | 
requestParameterSwitch
 | 
static String | 
RETRIEVE_MODE
 | 
private static long | 
serialVersionUID
 | 
static String | 
STORE_MODE
 | 
| Constructor Summary | |
|---|---|
MessageStoreInterceptor()
 | 
|
| Method Summary | |
|---|---|
protected  void | 
after(ActionInvocation invocation,
      String result)
Handle the storing of field errors / action messages / field errors, which is done after action invocation, and the operationMode is in 'STORE'. | 
protected  void | 
before(ActionInvocation invocation)
Handle the retrieving of field errors / action messages / field errors, which is done before action invocation, and the operationMode is 'RETRIEVE'. | 
 void | 
destroy()
Called to let an interceptor clean up any resources it has allocated.  | 
 boolean | 
getAllowRequestParameterSwitch()
 | 
 String | 
getOperationModel()
 | 
protected  String | 
getRequestOperationMode(ActionInvocation invocation)
Get the operationMode through request paramter, if allowRequestParameterSwitch
 is 'true', else it simply returns 'NONE', meaning its neither in the 'STORE_MODE' nor
 'RETRIEVE_MODE'. | 
 String | 
getRequestParameterSwitch()
 | 
 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. | 
protected  Collection | 
mergeCollection(Collection col1,
                Collection col2)
Merge col1 and col2 and return the composite
 Collection. | 
protected  Map | 
mergeMap(Map map1,
         Map map2)
Merge map1 and map2 and return the composite
 Map | 
 void | 
setAllowRequestParameterSwitch(boolean allowRequestParameterSwitch)
 | 
 void | 
setOperationMode(String operationMode)
 | 
 void | 
setRequestParameterSwitch(String requestParameterSwitch)
 | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
private static final long serialVersionUID
private static final Logger LOG
public static final String AUTOMATIC_MODE
public static final String STORE_MODE
public static final String RETRIEVE_MODE
public static final String NONE
private boolean allowRequestParameterSwitch
private String requestParameterSwitch
private String operationMode
public static String fieldErrorsSessionKey
public static String actionErrorsSessionKey
public static String actionMessagesSessionKey
| Constructor Detail | 
|---|
public MessageStoreInterceptor()
| Method Detail | 
|---|
public void setAllowRequestParameterSwitch(boolean allowRequestParameterSwitch)
public boolean getAllowRequestParameterSwitch()
public void setRequestParameterSwitch(String requestParameterSwitch)
public String getRequestParameterSwitch()
public void setOperationMode(String operationMode)
public String getOperationModel()
public void destroy()
Interceptor
destroy in interface Interceptorpublic void init()
Interceptorintercept , giving
 the Interceptor a chance to initialize any needed resources.
init in interface Interceptor
public String intercept(ActionInvocation invocation)
                 throws Exception
InterceptorActionInvocation or to short-circuit the processing and just return a String return code.
intercept in interface Interceptorinvocation - the action invocation
ActionInvocation.invoke(), or from the interceptor itself.
Exception - any system-level error, as defined in Action.execute().
protected void before(ActionInvocation invocation)
               throws Exception
operationMode is 'RETRIEVE'.
invocation - 
Exception
protected void after(ActionInvocation invocation,
                     String result)
              throws Exception
operationMode is in 'STORE'.
invocation - result - 
Exceptionprotected String getRequestOperationMode(ActionInvocation invocation)
allowRequestParameterSwitch
 is 'true', else it simply returns 'NONE', meaning its neither in the 'STORE_MODE' nor
 'RETRIEVE_MODE'.
protected Collection mergeCollection(Collection col1,
                                     Collection col2)
col1 and col2 and return the composite
 Collection.
col1 - col2 - 
protected Map mergeMap(Map map1,
                       Map map2)
map1 and map2 and return the composite
 Map
map1 - map2 - 
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||