你的位置:首页 > Java教程

[Java教程]以用户名注册来分析三种Action获取数据的方式


1.注入属性


直接注入属性:

 1   public String userName; 2    3  4   public String getUserName() { 5     return userName; 6   } 7  8  9   public void setUserName(String userName) {10     this.userName = userName;11   }12 13 14   @Override15   public String execute() throws Exception {16     // TODO Auto-generated method stub17     18     User user = new User();19     user.setUserName(userName);//在这里需要将username接收到并且去使用。20     UserDAO dao = new UserDAO();21     HttpServletResponse response= ServletActionContext.getResponse();22     PrintWriter out = response.getWriter();23     if(dao.checkExists(user))24     {25       out.print("1");26     }27     else28     {29       out.print("0");30     }31     return null;32   }

 


2.Domain Model 这是一般常用的方式

这里就不重复说明,

3.ModelDriven

第三种方法不常用,只需要了解;

其过程分为4个步骤:
 (1)action实现ModelDriven<User>接口
  (2) 添加抽象方法
 (3)定义并初始化一个模型
     User user=new User();
 (4)生成setter和getter

 1 public class CheckUserAction extends ActionSupport implements ModelDriven<User>{ 2   private User user = new User(); 3   public User getUser() { 4     return user; 5   } 6  7   public void setUser(User user) { 8     this.user = user; 9   }10 11   @Override12   public String execute() throws Exception {13     // TODO Auto-generated method stub14     15     16     UserDAO dao = new UserDAO();17     HttpServletResponse response= ServletActionContext.getResponse();18     PrintWriter out = response.getWriter();19     if(dao.checkExists(user))20     {21       out.print("1");22     }23     else24     {25       out.print("0");26     }27     return null;28   }29 30   @Override31   public User getModel() {32     // TODO Auto-generated method stub33     return user;34   }35   

注意:在使用方法1和3的时候前端及jsp代码部分无需需改,因为是直接调用的userName属性。

方法2需要将jquery中的username变为,user.username。