Struts2的action之间的交互

Struts2的action之间的交互。
先说说转发吧。

package com.act;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import com.opensymphony.xwork2.ActionSupport;
@ParentPackage("struts-default")
public class reTest1 extends ActionSupport {
@Override
public String execute() throws Exception {
    // TODO Auto-generated method stub
    return super.execute();
}
@Action(value="res_1",results={@Result(type="chain",location="res_2")})
public String res_1() throws Exception {
    System.out.println("res_1------------->>");
    return SUCCESS;
}
@Action(value="res_2",results={@Result(location="res_1.jsp")})
public String res_2() throws Exception {
    System.out.println("res_2------------->>");
    return SUCCESS;
}
}

@Action(value=”res_1”,results={@Result(type=”chain”,location=”res_2”)})
运用注解的方式配置struts. 可以看出type=”chain”是表示从一个action转发到另外一个action中。

这就是重定向:
代码跟上面差不多,只是改了type的值而已
**type=”redirect”
location=”res_2.action”**

@Action(value="res_1",results={@Result(type="redirect",location="res_2.action")})
public String res_1() throws Exception {
    System.out.println("res_1------------->>");
    return SUCCESS;
}
@Action(value="res_2",results={@Result(location="res_1.jsp")})
public String res_2() throws Exception {
    System.out.println("res_2------------->>");
    return SUCCESS;
}

同样我们也可以这样
**type=”redirectAction”
location=”res_2”**

@Action(value="res_1",results={@Result(type="redirectAction",location="res_2")})
public String res_1() throws Exception {
    System.out.println("res_1------------->>");
    return SUCCESS;
}
@Action(value="res_2",results={@Result(location="res_1.jsp")})
public String res_2() throws Exception {
    System.out.println("res_2------------->>");
    return SUCCESS;
}

下面是的带命名空间的action之间的交互,
根目录<<–>>命名空间里面的交互
命名空间<<–>>命名空间

你可能感兴趣的:(struts2.0)