com.opensymphony.xwork2.interceptor
Class StaticParametersInterceptor

java.lang.Object
  extended by com.opensymphony.xwork2.interceptor.AbstractInterceptor
      extended by com.opensymphony.xwork2.interceptor.StaticParametersInterceptor
All Implemented Interfaces:
Interceptor, Serializable

public class StaticParametersInterceptor
extends AbstractInterceptor

This interceptor populates the action with the static parameters defined in the action configuration. If the action implements Parameterizable, a map of the static parameters will be also be passed directly to the action. The static params will be added to the request params map, unless "merge" is set to false.

Parameters are typically defined with <param> elements within xwork.xml.

Interceptor parameters:

Extending the interceptor:

There are no extension points to this interceptor.

Example code:

 
 <action name="someAction" class="com.examples.SomeAction">
     <interceptor-ref name="staticParams">
          <param name="parse">true</param>
          <param name="overwrite">false</param>
     </interceptor-ref>
     <result name="success">good_result.ftl</result>
 </action>
 
 

Author:
Patrick Lightbody
See Also:
Serialized Form

Constructor Summary
StaticParametersInterceptor()
           
 
Method Summary
protected  void addParametersToContext(ActionContext ac, Map<String,?> newParams)
          Adds the parameters into context's ParameterMap.
 String intercept(ActionInvocation invocation)
          Override to handle interception
protected  Map<String,String> retrieveParameters(ActionContext ac)
           
static void setDevMode(String mode)
           
 void setMerge(String value)
           
 void setOverwrite(String value)
          Overwrites already existing parameters from other sources.
 void setParse(String value)
           
 void setValueStackFactory(ValueStackFactory valueStackFactory)
           
 
Methods inherited from class com.opensymphony.xwork2.interceptor.AbstractInterceptor
destroy, init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StaticParametersInterceptor

public StaticParametersInterceptor()
Method Detail

setValueStackFactory

public void setValueStackFactory(ValueStackFactory valueStackFactory)

setDevMode

public static void setDevMode(String mode)

setParse

public void setParse(String value)

setMerge

public void setMerge(String value)

setOverwrite

public void setOverwrite(String value)
Overwrites already existing parameters from other sources. Static parameters are the successor over previously set parameters, if true.

Parameters:
value -

intercept

public String intercept(ActionInvocation invocation)
                 throws Exception
Description copied from class: AbstractInterceptor
Override to handle interception

Specified by:
intercept in interface Interceptor
Specified by:
intercept in class AbstractInterceptor
Parameters:
invocation - the action invocation
Returns:
the return code, either returned from ActionInvocation.invoke(), or from the interceptor itself.
Throws:
Exception - any system-level error, as defined in Action.execute().

retrieveParameters

protected Map<String,String> retrieveParameters(ActionContext ac)
Parameters:
ac - The action context
Returns:
the parameters from the action mapping in the context. If none found, returns an empty map.

addParametersToContext

protected void addParametersToContext(ActionContext ac,
                                      Map<String,?> newParams)
Adds the parameters into context's ParameterMap. As default, static parameters will not overwrite existing paramaters from other sources. If you want the static parameters as successor over already existing parameters, set overwrite to true.

Parameters:
ac - The action context
newParams - The parameter map to apply


Copyright © 2009 OpenSymphony. All Rights Reserved.