1. 设置type="redirect"
2.设置 type="chain"
当type为chain 时,说明是action链,运行完第一个action java文件接着会运行第二个action JAVA 文件,相当于forward(客户端的url不会改变).当type为redirect时,说明会跳转到第二个action的url (客户端的url会改变)
从action1直接跳转到action2,有两种方法:
1. 需要保存前一个action的属性信息时使用,保存住action1的request对象:
2. 不保存前一个action的参数可以用这种方法:
Struts.xml
Java代码
< xml version="1.0" encoding="UTF-8" >
[java]
< xml version="1.0" encoding="UTF-8" >
action1
Java代码
public class StrAction1 {
String a ="liminhappygirl";
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public String sa1() {
HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
request.setAttribute("limin", "happygirl");
System.out.println("sal已经执行");
return "sa2";
}
}
[java]
public class StrAction1 {
String a ="liminhappygirl";
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public String sa1() {
HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
request.setAttribute("limin", "happygirl");
System.out.println("sal已经执行");
return "sa2";
}
}
action2
Java代码
public class StrAction2 {
public String sa2() {
HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
//当type="chain" 时能保存住request对象
System.out.println(request.getAttribute("limin"));
return Action.SUCCESS;
}
}
[java]
public class StrAction2 {
public String sa2() {
HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
//当type="chain" 时能保存住request对象
System.out.println(request.getAttribute("limin"));
return Action.SUCCESS;
}
}