struts2的Action Chaining

action链

框架提供了一种链接各种action成为一个定义好的sequence或者workflow。这个特性通过应用Chain Result到一个给定的action而起作用,
通过ChainingInterceptor来拦截他的目标action调用。
注意:作为一个规范,action chaining是不被推荐的,可以使用其他的方式,比如 Redirect After Post技术。

chain result
chain result是一个返回类型,这个返回类型用他自己的拦截器栈和结果调用一个action。这个拦截器允许一个action将一个请求转到目标action,然后传递源action的状态
下面一个例子显示怎么定义sequence。
<package name="public" extends="struts-default">
    <!-- Chain creatAccount to login, using the default parameter -->
    <action name="createAccount" class="...">
         <result type="chain">login</result>
    </action>

    <action name="login" class="...">
        <!-- Chain to another namespace -->
         <result type="chain">
             <param name="actionName">dashboard</param>
            <param name="namespace">/secure</param>

        </result>
    </action>
</package>

<package name="secure" extends="struts-default" namespace="/secure">
    <action name="dashboard" class="...">
        <result>dashboard.jsp</result>
    </action>
</package>

Chaining Interceptor
如果你需要从链中的前一个action赋值到当前action,你需要使用ChainingInterceptor。这个拦截器将会从请求赋值原始参数,值栈被传递到目标action。源action被值栈
valuestack记住,通过值栈允许目标action访问前action的属性,同样也会使属性能够被chain的最后结果使用,如jsp或者velocity page。

使用action chain的一个共同点是需要提供一个寻找列表。因为这个action从valuestack中得到,他们的属性在视图内是可以访问的。这个功能可以通过在显示页面的ActionTag

执行一个action,从而获得实现。

翻译自http://struts.apache.org/docs/action-chaining.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值