您的位置:首页 > 编程语言 > Java开发

struts2 从一个action 跳转到另一个action的两种方法

2015-05-13 21:24 381 查看
从action1直接跳转到action2,有两种方法: 

1. 需要保存前一个action的属性信息时使用,保存住action1的request对象: 
     <result type= "chain " name="a2">action2</result> 
2. 不保存前一个action的参数可以用这种方法: 
      <result  type= "redirectAction "> action2</result> 

Struts.xml

Java代码 



<?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>     

[java] view
plaincopyprint?

<?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

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] view
plaincopyprint?

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] view
plaincopyprint?

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;  

    }  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2