• 写Action的三种方法


    Action类似于servlet,在用户对浏览器输入url访问的时候充当控制器的角色。它在访问时产生,执行execute()之后就销毁了。

    写Action是代理事务,它实现的三种方式是: (1)POJO类

                         (2)继承ActionSupport类

                         (3)实现Action接口

    POJO类

    public class ActionPrint {
    
        public String execute(){
            System.out.println("ActionPrint execute!");
            return "success";
        }
    }

    继承ActionSupport类

    import com.opensymphony.xwork2.ActionSupport;
    
    public class ActionInputCheck extends ActionSupport{
        private int a;
        private double b;
        private char c;
        private String d;
        public int getA() {
            return a;
        }
        public void setA(int a) {
            this.a = a;
        }
        public double getB() {
            return b;
        }
        public void setB(double b) {
            this.b = b;
        }
        public char getC() {
            return c;
        }
        public void setC(char c) {
            this.c = c;
        }
        public String getD() {
            return d;
        }
        public void setD(String d) {
            this.d = d;
        }
        public String execute(){
            
            return SUCCESS;
        }
        public void validate(){
            if(a<0)
                this.addActionError("d不能小于0");
            
            
        }
        
    }

    实现Action接口

    import com.opensymphony.xwork2.Action;
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ModelDriven;
    
    import Beans.User;
    
    public class MDriven implements Action,ModelDriven<User>{
    
        private User user=new User();
        public User getUser() {
            return user;
        }
    
        public void setUser(User user) {
            this.user = user;
        }
    
        @Override
        public User getModel() {
            // TODO Auto-generated method stub
                
            return user;
        }
    
        @Override
        public String execute() throws Exception {
            ActionContext context=ActionContext.getContext();
            context.getSession().put("username", user.getUsername());
            return SUCCESS;
        }
    
    }

    ModelDriven接口是让javabean的实现和Action分离,Action只用扮演好控制器的角色就好,javabean是在Model层的东东,这样比较符合MVC的设计模式。

    写了Action之后相应加上struts.xml的配置

               </action>
               <action name="InputCheck" class="StrutsFund.ActionInputCheck">
                   <result name="success">/output.jsp</result>
               </action>
               <action name="MDriven" class="StrutsFund.MDriven">
                   <result name="success">/login_success.jsp</result>
               </action>
               <action name="print" class="StrutsFund.ActionPrint">
                   <result name="success">/index.jsp</result>
               </action>

    访问的时候就在网址栏中输入:http://localhost:8080/项目名/ActionName

    struts.properties配置文件

    该文件定义了struts2框架的大量属性。只要将该文件放在web应用的classes下,struts2框架就会自动加载。

  • 相关阅读:
    关于图片标签 <img src=" " alt=" "/> 中的 src 属性消失不见了的问题
    谷歌邮箱无法显示使用 Base64 处理的图片的解决方法
    初等数学问题解答-5:一个Fermat方程的简化形式
    初等数学问题解答-4:无理方程求解
    初等数学问题解答-3:数的整除性
    初等数学问题解答-2:11的整除性
    初等数学问题解答-1:九九乘法表的趣题
    10%的高考数学题小学生全做对了,你呢?
    猿辅导2017年春季初联训练营作业题解答-7: "高次方程组"
    猿辅导2017年春季初联训练营作业题解答-6: "一元二次方程-3"
  • 原文地址:https://www.cnblogs.com/chentingk/p/5651559.html
Copyright © 2020-2023  润新知