浅谈struts2模型驱动
2015-08-22 00:26
375 查看
和模型驱动的相对应的是属性驱动,虽然名字叫的挺牛的,其实很好理解。属性驱动就是在Action中,定义的是和表单中对应的一个个属性,然后有属性的get/set方法。而模型驱动就是事先定义了一个模型,即Model,将表单传递过来的数据封装成一个对象后,再传递给Action,这和Struts1的这种机制很相似。那么这两种方法,哪个好一些呢?还有待实践的检验。。。。。
这里还是用登录的例子分析一下模型驱动,属性驱动就不分析了:
1、先建立一个Model,即User类:
2、建立LoginAction类,继承自ActionSupport,实现ModelDriven接口,这个接口定义了一个getModel()方法,用于返回定义的Model,然后调用set方法,进行赋值。
在Struts2中,Action起的作用就像servlet的作用,即Controller的作用。具体的业务逻辑要调用其他的Bean来实现
这里还是用登录的例子分析一下模型驱动,属性驱动就不分析了:
1、先建立一个Model,即User类:
package com.suo.beans; import java.util.Date; public class User { private String username; private String password; private EMail email;//此处EMail为自定义数据类型,要进行类型转换 private Date birthday; 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 EMail getEmail() { return email; } public void setEmail(EMail email) { this.email = email; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }
2、建立LoginAction类,继承自ActionSupport,实现ModelDriven接口,这个接口定义了一个getModel()方法,用于返回定义的Model,然后调用set方法,进行赋值。
package com.suo.actions; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import com.suo.beans.User; import com.suo.services.LoginService; import com.suo.services.LoginServiceImpl; public class LoginAction3 extends ActionSupport implements ModelDriven<User> { private User user=new User();//这里记住要实例化 private LoginService loginService=new LoginServiceImpl();//这里是调用登录的业务处理逻辑 @Override public User getModel() { // TODO Auto-generated method stub return user; } public String execute() { System.out.println(user.getUsername()); System.out.println(user.getPassword()); if(loginService.isLogin(user.getUsername(), user.getPassword())) { return SUCCESS; } return INPUT; } }
在Struts2中,Action起的作用就像servlet的作用,即Controller的作用。具体的业务逻辑要调用其他的Bean来实现
相关文章推荐
- java基础之泛型详解
- Eclipse中10个最有用的快捷键组合
- maven 工程启动找不到 Spring ContextLoaderListener 的解决办法
- maven 工程启动找不到 Spring ContextLoaderListener 的解决办法
- 跟开涛哥学spring,创建第一个spring hello world老报错
- 浅谈java中的ServerSocket和Socket的通信原理实现聊天及多人聊天
- Struts2中获取request、session、application的集中方式
- Java并发学习笔记
- Java common-fileupload 文件上传
- springmvc学习笔记(五)开启注解
- 关于Java关键字synchronized——单例模式的思考
- 集合框架-MAP(java基础)
- Java--JVM内存管理:深入Java内存区域与OOM
- 疯狂Java讲义中的程序,使用代理服务器来获取网上的资源
- Java数据类型分析
- 【springmvc】java web使用ajaxSubmit方法实现Excel文件上传
- 2015-8-1(1)
- Java中keytool的使用
- javaEE培训学习第十天
- JAVA中关于servlet的工作原理