以用户名注册为例分析三种Action获取数据的方式

时间:2021-05-19

1.注入属性

直接注入属性:

public String userName;public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}@Overridepublic String execute() throws Exception {// TODO Auto-generated method stubUser user = new User();user.setUserName(userName);//在这里需要将username接收到并且去使用。UserDAO dao = new UserDAO();HttpServletResponse response= ServletActionContext.getResponse();PrintWriter out = response.getWriter();if(dao.checkExists(user)){out.print("");}else{out.print("");}return null;}

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

这里就不重复说明,

3.ModelDriven

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

其过程分为4个步骤:
(1)action实现ModelDriven<User>接口

(2) 添加抽象方法

(3)定义并初始化一个模型

   User user=new User();

(4)生成setter和getter

public class CheckUserAction extends ActionSupport implements ModelDriven<User>{private User user = new User();public User getUser() {return user;}public void setUser(User user) {this.user = user;}@Overridepublic String execute() throws Exception {// TODO Auto-generated method stubUserDAO dao = new UserDAO();HttpServletResponse response= ServletActionContext.getResponse();PrintWriter out = response.getWriter();if(dao.checkExists(user)){out.print("");}else{out.print("");}return null;}@Overridepublic User getModel() {// TODO Auto-generated method stubreturn user;}

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

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章