JavaScud | Forum | JIRA | Blog |
  Dashboard > WebWork2文档中文化计划 > ... > Interceptors > Chaining Interceptor
  WebWork2文档中文化计划 Log In View a printable version of the current page.  
  Chaining Interceptor
Added by 黑灵, last edited by scud on May 19, 2006  (view change)
Labels: 
(None)

这个拦截器可以把ValueStack中除实现了Unchainable接口以外的所有对象全都复制到当前正在执行的Action。拦截器的可选参数includes和excludes可以用来控制哪些参数可以被复制以及这些参数怎样被复制。includesexcludes 只能同时指定一个。如果两个都指定效果就等于没有指定。更多信息查看javadoc中的{@link OgnlUtil#copy(Object, Object, java.util.Map, java.util.Collection, java.util.Collection)}


需要注意的一点是如果ValueStack中没有任何对象,这个拦截器不做任何事。这就意味两点:一、你可以把它应用于任何Action而不必担心产生负面影响。二、你必须在调用一个actioin之前确保在stack中有要传递的值。最常见的使用方式是和 chain 结果类型一起使用,这样就可以实现action chaining的效果了。

参数

  • excludes (optional) - 不需要复制的参数,其他的都复制
  • includes (optional) - 一定要复制的参数,其他的都不复制

扩展

例子

<action name="someAction" class="com.examples.SomeAction">
    <interceptor-ref name="basicStack"/>
    <result name="success" type="chain">otherAction</result>
</action>

<action name="otherAction" class="com.examples.OtherAction">
    <interceptor-ref name="chain"/>
    <interceptor-ref name="basicStack"/>
    <result name="success">good_result.ftl</result>
</action>
Site running on a free Atlassian Confluence Open Source Project License granted to WebWork China. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.3 Build:#808 May 29, 2007) - Bug/feature request - Contact Administrators