这个拦截器通过标准的验证框架运行action。这个标准的输入验证框架根据验证规则(在类似ActionClass-validation.xml这样的文件中定义的)来检查action,然后添加字段级别和action级别的错误信息(前提是你的action必须实现了com.opensymphony.xwork.ValidationAware接口)。这个拦截器一般是栈中的最后一个(或者倒数第二个)。这样可以保证所有的值已经被设置到action中了。
如果要调用的方法名已经在excludeMethods参数中被指定了,这个拦截器不会做任何事情。excludeMethods参数是用逗号隔开的方法名列表。例如,如果你设置excludeMethods参数为"input, back",那么指向foo!input.action和foo!back.action请求就会被这个拦截器跳过。
注意,这个过程不会对com.opensymphony.xwork.Validateable接口做任何事情,只是简单的向action中添加一些错误信息。action请求的流向不会因为这个拦截器而改变。一般要把这个拦截器和workflow拦截器一起使用。
注意 :因为这个其扩展了MethodFilterInterceptor, 它可以决定是否只把这个功能应用于某些方法上。详细信息参见MethodFilterInterceptor
参数
无
扩展
无
例子
<action name="someAction" class="com.examples.SomeAction">
<interceptor-ref name="params"/>
<interceptor-ref name="validation"/>
<interceptor-ref name="workflow"/>
<result name="success">good_result.ftl</result>
</action>
<-- in the following case myMethod of the action class will not
get validated -->
<action name="someAction" class="com.examples.SomeAction">
<interceptor-ref name="params"/>
<interceptor-ref name="validation">
<param name="excludeMethods">myMethod</param>
</interceptor-ref>
<interceptor-ref name="workflow"/>
<result name="success">good_result.ftl</result>
</action>