struts2学习笔记(接收参数——域模型、DTO)
来源:互联网 发布:中超球员数据统计 编辑:程序博客网 时间:2024/06/06 07:06
一、DomainModel就是域模型。
1、所谓域模型就是在我们的实体域里面,真正存在的域的概念。
如一个BBS系统,真正存在的实体的概念就是:版块、帖子(Article)、话题(Topic),会员(User)
我们要接收参数,这个参数干嘛?还不是要接收到了之后,把它赋到某一个对象上。然后把它存在数据库里面。既然name与age总是要交给某一个user对象的。那么我们是不是可以这样用呢?
2、当在IE中调用了user.action时。在IE地址栏显示:http://localhost:8080/struts2_0800/user/user!add?user.name=a&user.age=8
它仍然是调用了user下面的user.action,它的类叫com.bjsxt.struts2.user.ation.UserAction.class,调用了它的add方法。在这个方法里面,直接输出的是user.getName()与user.getAge().
二、新建项目
struts.xml文件内容为:
<?xml version="1.0"
<!DOCTYPE struts PUBLIC
<struts>
</struts>
二、UserAction.class类的内容如下:
package
import
import
public
}
三、在上面的类中,有一个user属性,这个对象所属的类开源于另外一个包,就是model包。也就是域模型。
package
public
}
四、如果像项目struts_0700 那样,如果在域模型里面有200多个属性,那么是不是要在UserAction类里面写200多个相应的属性,还要写相应的get,set呢?
在根据域模型接收参数时,就不用了。
五、这样,如果想给user的属性赋值,则在IE地址栏写:
http://localhost:8080/struts2_0800/user/user!add?user.name=a&user.age=8
就是user.name=
相当于调用了setUser.setName()。setUser.setAge()
五、这就是用域模型直接接收这个参数。
六、如何是用户登录,希望有一个用户名,一个密码,一个确认密码。可是我们的用户域模型通常只有两个属性:用户名,密码。
那么用域模型就不可以了。那么如何解决这个问题呢?
1、答:可以直接用属性接收,如果喜欢用域模型,则再建立一个user。
2、除了上面方法外,,还有一种方式,就是再定义一个DTO(data transfer object)数据传输对象。,由这个对象,再生成域对象。
2.1
package
public
}
2.2在UserAction类中用UserDTO属性
package com.bjsxt.struts2.user.action;
import com.bjsxt.struts2.user.model.User;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
}
2.3这样前台输入进来的参数,就与UserDTO相匹配了。
然后在UserAction里面处理完之后,再根据UserDTO ,生成User对象。
方法就是从UserDTO里面拿到相应的参数,添加到User里面。
UserDTO就是把参数传递过来,在new User时,再把参数传递给User对象。
3、那么什么时候用DTO对象呢?只能是当前台参数传递过来时,跟我们的域模型匹配不上。
这时有两种方式,一种方式是用属性接收过来,另外一种方式,就是用DTO对象。
七、jsp页面
1、index.jsp
************
2、user_add_success.jsp
<%@ page language="java"
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
</html>
- struts2学习笔记(接收参数——域模型、DTO)
- struts2接收参数——域模型、DTO
- struts2中的域模型DTO接收参数
- Struts2学习笔记(二)——请求参数的接收
- Struts2 学习笔记 —— 07 —— Action接收参数(1)
- Struts2 学习笔记 —— 08 —— Action接收参数(2)
- Struts2 学习笔记 —— 09 —— Action接收参数(3)
- Struts2学习之Action接收参数方法二(用DomainModel接收参数(模型驱动))
- Struts2 使用域模型给action传递参数以及DTO
- 学习笔记-----------struts2请求参数接收
- Struts2.0学习笔记 --- 接收参数
- Struts2学习笔记系列之参数接收
- Struts2 学习笔记 —— 10 —— Action接收参数时的中文乱码问题
- struts学习笔记——参数接收
- Servlet学习笔记—request参数接收
- Action接收参数的3种方式(属性,域模型,模型驱动,struts2.1.8)
- Action接收参数的3种方式(属性,域模型,模型驱动,struts2.1.8)
- Struts2学习——0500不同方式接收参数
- 方法
- Eclipse窗口总是在最前的解决办法
- Xamarin.Android编译提示找不到mscorlib.dll.so文件
- 上下文切换(Context Switch)
- OI小记
- struts2学习笔记(接收参数——域模型、DTO)
- 在ubantu14下搭建lamp的再次记录
- 面向对象特征
- Android UI设计——ViewPager中设置底部显示圆点焦点
- 第三周项目2-建设“顺序表”算法库
- 《Clean Code》代码的整洁之道(一)
- AS2.2打包:release-stripped.ap_' specified for property 'resourceFile' does not exist
- 【项目3-并联电阻】 第四周
- android长按弹出对话框