码迷,mamicode.com
首页 > 其他好文 > 详细

Action处理请求参数

时间:2020-03-31 12:25:55      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:ons   数据传递   文件   pre   public   属性驱动   就是   override   nbsp   

在Struts2中,页面请求分为两种方式,分别是字段驱动和模型驱动,字段驱动也属于属性驱动

  属性驱动是指通过字段进行数据传递,两种情况:

  1,与基本数据类型的属性对应

     【1】编写Action类

  

public class login {
    private String username;
    private String password;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String execute()
    {
        ActionContext context = ActionContext.getContext();
        if("yz".equals(username) && "123".equals(password))
        {
            //把username存在context里然后在jsp页面使用${}接收
            context.put("qwe", username);
            return "success";
        };
        return "success";
    };
}

 

      【2】编写配置文件

技术图片

 

      【3】编写jsp页面

 技术图片

 

       在success.jsp加入${qwe}用于接收用户名字

 

 

  2,直接使用域对象

      【1】编写User实体类 并且加入get,set方法

技术图片

 

 

 

      【2】编写Action类

        

public class UserAction extends ActionSupport implements ServletRequestAware{
    private User user;

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }
    
    HttpServletRequest request;
    
    @Override
    public void setServletRequest(HttpServletRequest request) {
        this.request=request;
    }
    
    public String execute()
    {
        System.out.println(user.getUsername());
        System.out.println(user.getPassword());
        if("sss".equals(user.getUsername()) && "123".equals(user.getPassword()))
        {
            request.setAttribute("username",user.getUsername());
            return "success";
        };
        return "success";
    };
    
}

 

 

 

      【3】编写配置文件

技术图片

 

 

 

      【4】编写jsp页面

技术图片

 

     在success.jsp页面加入${username}

 

  模型驱动

  模型驱动通过实现ModelDriven接口来接受请求参数,Action必须实现ModelDriven接口

  并且要从写getModel()方法,这个方法返回的就是Action所使用的数据模型对象

    【1】编写User实体类 并且加入get,set方法

技术图片

 

 

 

    【2】编写Action类

 

public class UserAction2 extends ActionSupport implements ServletRequestAware,ModelDriven<User>{
    HttpServletRequest request;
    private User user=new User();
    @Override
    public User getModel() {
        return user;
    }

    @Override
    public void setServletRequest(HttpServletRequest request) {
        this.request=request;
    }
    public String execute()
    {
        if("sss".equals(user.getUsername()) && "123".equals(user.getPassword()))
        {
            request.setAttribute("user", user);
            return "success";
        };
        return "success";
    };

}

 

 

 

    【3】编写配置文件

技术图片

 

 

 

    【4】编写jsp页面

技术图片

 

     在success.jsp页面加入${user.username}

 

Action处理请求参数

标签:ons   数据传递   文件   pre   public   属性驱动   就是   override   nbsp   

原文地址:https://www.cnblogs.com/yz-bky/p/12603979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!