Struts2 - 配置文件中result 节点详解

  • 每个 action 方法都将返回一个 String 类型的值, Struts 将根据这个值来决定响应什么结果.
  • 每个 action 声明都必须包含有数量足够多的 result 元素, 每个 result 元素分别对应着 action 方法的一个返回值.
  • result 元素可以有下面两个属性

  –      name: 结果的名字, 必须与 Action 方法的返回值相匹配, 默认值为 success

  –      type: 响应结果的类型. 默认值为 dispatcher

 

请求result的方式:

 

1. 结果类型:  dispatcher

  • dispatcher 结果类型是最常用的结果类型, 也是 struts 框架默认的结果类型
  • 该结果类型有一个 location 参数, 它是一个默认参数
  • dispatcher 结果类型将把控制权转发给应用程序里的指定资源.
  • dispatcher 结果类型不能把控制权转发给一个外部资源. 若需要把控制权重定向到一个外部资源, 应该使用 redirect 结果类型

2. 结果类型:  redirect

  • redirect 结果类型将把响应重定向到另一个资源, 而不是转发给该资源.
  • redirect 结果类型接受下面这些参数:

  –      location: 用来给出重定向的目的地.它是默认属性

  –      parse: 用来表明是否把 location 参数的值视为一个 OGNL 表达式来解释. 默认值为 true

  • redirect 结果类型可以把响应重定向到一个外部资源
  • 实例代码:

 3. 结果类型:  redirectAction

  • redirectAction 结果类型把响应重定向到另一个 Action
  • redirectAction 结果类型接受下面这些参数:

  –      actionName: 指定 “目的地” action 的名字. 它是默认属性

  –      namespace: 用来指定 “目的地” action 的命名空间. 如果没有配置该参数, Struts 会把当前 Action 所在的命名空间作为 “目的地” 的命名空间

  • 示例代码:

 

<!-- 通过 redirect 的响应类型也可以便捷的实现 redirectAction 的功能! -->
<result name="index" type="redirect">/atguigu/testAction.do</result>
<!-- 不能通过 type=dispatcher 的方式转发到一个 Action -->
<result name="test">/atguigu/testAction.do</result>

  4. 结果类型:  chain

  • chain 结果类型的基本用途是构成一个 action 链: 前一个 action 把控制权转发给后一个 action, 而前一个 action 的状态在后一个 action 中依然保持
  • chain 结果类型接受下面这些参数:

  –      actionName: 指定目标 action 的名字. 它是默认属性

  –      namespace: 用来指定 “目的地” action 的命名空间. 如果没有配置该参数, Struts 会把当前 action 所在的命名空间作为 “目的地” 的命名空间

  –      method: 指定目标 action 方法. 默认值为 execute

 

<!-- 转发到一个 Action -->
              
<result name="test" type="chain">
    <param name="actionName">testAction</param>
    <param name="namespace">/atguigu</param>
</result>
        

 

posted on 2018-04-04 10:25  pjlhf  阅读(1443)  评论(0编辑  收藏  举报

导航