1. 需要保存前一個action的屬性信息時使用,保存住action1的request對象:
<result type= "chain " name="a2">action2</result>
2. 不保存前一個action的參數可以用這種方法:
<result type= "redirectAction "> action2</result>
Struts.xml
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN""http://struts.apache.org/dtds/struts-2.1.dtd">
- <struts>
- <!--一個action跳轉到另一個action 跳轉方式爲chain 會保留request對象 redirectAction 則不能保留-->
- <package name="limin"extends="struts-default">
- <action name="sa1_*" class="com.Action.StrAction1" method="{1}">
- <!--<result type="chain" name="sa2">sa2_sa2</result> -->
- <result type="redirectAction" name="sa2">sa2_sa2</result>
- </action>
- <action name="sa2_*" class="com.Action.StrAction2" method="{1}">
- <result>/index.jsp</result>
- </action>
- </package>
- </struts>
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
- <struts>
- <!--一個action跳轉到另一個action 跳轉方式爲chain 會保留request對象 redirectAction 則不能保留-->
- <package name="limin" extends="struts-default">
- <action name="sa1_*" class="com.Action.StrAction1" method="{1}">
- <!--<result type="chain" name="sa2">sa2_sa2</result> -->
- <result type="redirectAction" name="sa2">sa2_sa2</result>
- </action>
- <action name="sa2_*" class="com.Action.StrAction2" method="{1}">
- <result>/index.jsp</result>
- </action>
- </package>
- </struts>
action1
- 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";
- }
- }
- 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
- 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;
- }
- }
- 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;
- }
- }