Struts2.0框架在使用时需要注意的问题
2014-12-14 09:52
302 查看
首先声明一遍MVC的编程思想:
VIEW中的参数传递到Controller
数据类型转换+数据验证
Controller调用下层的对象的方法处理业务
数据类型转换+数据验证
处理完成,返回数据,跳转到目标页面,并在页面中展示数据
b.实现Action接口的控制器
c.继承ActionSupport类的控制器
一般是选用第三种方式,因为可以使用ActionSupport提供的大量的辅助性功能,第二种也可以用,只不过辅助的功能较少,但是由于java的单继承机制,第三种的可拓展性不强,而实现接口的还可以实现多个接口,有利于大型项目的拓展,而第一种方式则不予以推荐!
前台表单中定义了不同的数据【有name属性的】
前台发送请求到服务器时
拦截器拦截到请求
拦截器自动获取到表单中的有name属性的表单元素
取出name属性的值,自动生成【set属性】字符串方法
<input type=”text” name=”username”/>
username-àsetUsername(String username);
从配置文件中获取到目标的Action对象的字符串
反射出Action对象,反射执行Action对象的set方法给属性赋值
后台Action中的属性,接收到前台页面传递过来的数据
域模型接受参数【店主推荐】
PO(persist object)对象——实体类——通常跟数据库字段一一对应的
PO对象用来保存对象到数据库
从数据库中读出数据记录,然后封装成PO对象
com.hchx.model->实体类
VO(value object)对象——实体类——通常跟网页上的数据一一对应
VO对象主要用来保存从页面上获取的数据
VO对象主要用来在页面上展示数据
PO对象和VO对象大部分情况下是一样的
如果PO对象和VO对象的字段不一致,在vo包中重新定义值对象
如果PO对象和VO对象的字段一致,直接使用PO对象
接受过程中需要注意的地方
页面参数的name属性值,使用[userVO.username]方式来定义
模型驱动接受参数【偶尔使用】
首先创建了一个VO模型对象
页面上提交表单到服务器【包含数据】
查看对应的Action是否实现了ModelDriven接口
目标Action已经实现了ModelDriven接口
1. 调用getModel()方法获取对象
给对象中的第一个属性赋值
2. 调用getModel()方法获取对象
给对象中的第二个属性赋值
……
VIEW中的参数传递到Controller
数据类型转换+数据验证
Controller调用下层的对象的方法处理业务
数据类型转换+数据验证
处理完成,返回数据,跳转到目标页面,并在页面中展示数据
1.controller的三种控制方式:
a.自定义控制器b.实现Action接口的控制器
c.继承ActionSupport类的控制器
一般是选用第三种方式,因为可以使用ActionSupport提供的大量的辅助性功能,第二种也可以用,只不过辅助的功能较少,但是由于java的单继承机制,第三种的可拓展性不强,而实现接口的还可以实现多个接口,有利于大型项目的拓展,而第一种方式则不予以推荐!
2.前台数据传递到后台所用的三种方式:(大多数情况下,页面上的数据和数据库中的数据是一一对应的,但是也存在对应不上的情况,比如在修改密码时的确认密码,此时就需要一个实体类,来存放页面中特有的一些数据,eg:com.hchx.vo)
属性接受前台表单中定义了不同的数据【有name属性的】
前台发送请求到服务器时
拦截器拦截到请求
拦截器自动获取到表单中的有name属性的表单元素
取出name属性的值,自动生成【set属性】字符串方法
<input type=”text” name=”username”/>
username-àsetUsername(String username);
从配置文件中获取到目标的Action对象的字符串
反射出Action对象,反射执行Action对象的set方法给属性赋值
后台Action中的属性,接收到前台页面传递过来的数据
域模型接受参数【店主推荐】
PO(persist object)对象——实体类——通常跟数据库字段一一对应的
PO对象用来保存对象到数据库
从数据库中读出数据记录,然后封装成PO对象
com.hchx.model->实体类
VO(value object)对象——实体类——通常跟网页上的数据一一对应
VO对象主要用来保存从页面上获取的数据
VO对象主要用来在页面上展示数据
PO对象和VO对象大部分情况下是一样的
如果PO对象和VO对象的字段不一致,在vo包中重新定义值对象
如果PO对象和VO对象的字段一致,直接使用PO对象
接受过程中需要注意的地方
页面参数的name属性值,使用[userVO.username]方式来定义
模型驱动接受参数【偶尔使用】
首先创建了一个VO模型对象
页面上提交表单到服务器【包含数据】
查看对应的Action是否实现了ModelDriven接口
目标Action已经实现了ModelDriven接口
1. 调用getModel()方法获取对象
给对象中的第一个属性赋值
2. 调用getModel()方法获取对象
给对象中的第二个属性赋值
……
相关文章推荐
- 关于使用ABP框架搭建的项目升级时需要注意的问题汇总
- 利用struts1.x框架需要注意的问题
- struts1 验证框架使用时应注意的问题
- 在使用微软提供的安全模版(安全策略)时需要注意的安全问题
- 关于在struts 框架中使用Filter过滤器解决汉字编码问题
- 使用Mount bind时需要注意的权限问题
- [转]AppFuse中使用Oracle需要注意的问题
- 使用CHtmlView需要注意的问题之一
- 使用UL 列表结构建立横向导航栏需要注意的问题
- 调试使用了函数模块的程序时需要注意的一个小问题
- 一个使用手机时需要注意的问题
- Firefox中Javascript使用event对象需要注意的问题
- 使用字节与字符串转换时需要注意的问题
- 使用异常时需要注意的一些问题(转)
- 关于在struts 框架中使用Filter过滤器解决汉字编码问题
- 使用AR工具管理库文件需要注意的问题
- 使用jspSmartUpload包需要注意的问题
- Perl5.8中使用encoding指示符需要注意的问题- -
- vs.net中使用SuperMap需要注意的问题[转载]
- 使用Spring的JndiObjectFactoryBean配置数据源时需要注意的问题