EasyJWeb中的VO、PO及XO
来源:互联网 发布:硬件管家鉴定 网络断开 编辑:程序博客网 时间:2024/06/11 09:52
这里的VO,PO不是我们以前通常所说的VO及PO,而是EasyJWeb中引入的一些概念。
在Java Web应用开发中,若按照面向对象的方法来思考,则我们认为有两种基本的对象,一种是html页面上的表单元素。这个表单元素包括form标签中的field,也包括通过url中的"?"号方式传到服务器的数据元素,这个我们暂且取名为:显示层对象(View Object)。另外一种是Java应用程序中的实际对象,如一个用户对象、一个论坛帖子等,我们暂且命名为:程序(真实)对象(Program Object或Real Object)。
EasyJWeb由于采用的是程序及页面完全分离,也即程序员及页面设计人员的工作是完全分离的。所以在用EasyJWeb做应用的时候关于显示层对象(View Object)及程序(真实)对象(Program Object或Real Object)的转换是随时都需要用到的。
在EasyJWeb的设计中,WebForm基本代表了示层对象(View Object),我们直接通过WebForm类或其子类对象的toPo、addPo、addResult等方法实现两种对象的转换。
在EasyJWeb文档中,示例3有一个关于数据库添删改查应用的中,关于两种显示层对象到程序真实对象的转换,代码如下:
public Object form2Obj(WebForm form) {
String cid=(String)form.get("cid");
User user=null;
if(cid!=null && (!cid.equals("")))user=User.read(cid);
if(user==null)user=new User();
return form.toPo(user);
}
其中form.toPo(user)表示把表单中的用户数据转换到到程序真实对象user中。
下面我们看看WebForm中的有关代码,在当前版本只是作最简单的转换,在以后还会进行完善:
//把form表单的数据转换成Object对象
public Object toPo(Object obj)
{
CommUtil.Map2Obj(this.getTextElement(),obj);
return obj;
}
//把form表单中的数据转换成classType类对象
public Object toPo(Class classType)
{
Object obj=null;
try{
obj=classType.newInstance();
CommUtil.Map2Obj(this.getTextElement(),obj);
}
catch(Exception e)
{
e.printStackTrace();
}
return obj;
}
//PO对象中的数据存放到FORM对象中
public void addPo(Object obj)
{
if(obj!=null)
CommUtil.Obj2Map(obj,this.getTextElement());
}
当然,在Java领域,老外及前辈们在java程序(真实)对象这块已经有了很多研究,也有很多名字,如VO,PO等。大家可以baidu一下在对象持久化中有关VO、PO等的一些资料。
致于XO嘛,暂时还没有......。
附:EasyJWeb简介
EasyJWeb是基于java技术,应用于WEB应用程序快速开发的MVC框架,框架设计构思来源于国内众多项目实践,充分借签了当前主要流行(主流)的开源Web框架(Struts、JSF、Tapestry 、Webwork),吸取了其优点及精华,利用Velocity作为模板页面引擎,是一个实现了页面及代码完全分离的MVC开发框架,是一个旨在于为中小型Web应用系统提供快速开发实践的简易Web框架。
EasyJF开源团队于2006年初才开始建设,因此当前整个开发团队组建以及所发布的作品,都显得极不成熟。EasyJWeb仍然处于测试阶段,恳请请广大的Java爱好者多多批评及建议。同进也非常欢迎您能加入到我们的国产开源队伍中。
EasyJWeb官方网址:www.easyjf.com
EasyJF团队官方网址:www.easyjf.com
在Java Web应用开发中,若按照面向对象的方法来思考,则我们认为有两种基本的对象,一种是html页面上的表单元素。这个表单元素包括form标签中的field,也包括通过url中的"?"号方式传到服务器的数据元素,这个我们暂且取名为:显示层对象(View Object)。另外一种是Java应用程序中的实际对象,如一个用户对象、一个论坛帖子等,我们暂且命名为:程序(真实)对象(Program Object或Real Object)。
EasyJWeb由于采用的是程序及页面完全分离,也即程序员及页面设计人员的工作是完全分离的。所以在用EasyJWeb做应用的时候关于显示层对象(View Object)及程序(真实)对象(Program Object或Real Object)的转换是随时都需要用到的。
在EasyJWeb的设计中,WebForm基本代表了示层对象(View Object),我们直接通过WebForm类或其子类对象的toPo、addPo、addResult等方法实现两种对象的转换。
在EasyJWeb文档中,示例3有一个关于数据库添删改查应用的中,关于两种显示层对象到程序真实对象的转换,代码如下:
public Object form2Obj(WebForm form) {
String cid=(String)form.get("cid");
User user=null;
if(cid!=null && (!cid.equals("")))user=User.read(cid);
if(user==null)user=new User();
return form.toPo(user);
}
其中form.toPo(user)表示把表单中的用户数据转换到到程序真实对象user中。
下面我们看看WebForm中的有关代码,在当前版本只是作最简单的转换,在以后还会进行完善:
//把form表单的数据转换成Object对象
public Object toPo(Object obj)
{
CommUtil.Map2Obj(this.getTextElement(),obj);
return obj;
}
//把form表单中的数据转换成classType类对象
public Object toPo(Class classType)
{
Object obj=null;
try{
obj=classType.newInstance();
CommUtil.Map2Obj(this.getTextElement(),obj);
}
catch(Exception e)
{
e.printStackTrace();
}
return obj;
}
//PO对象中的数据存放到FORM对象中
public void addPo(Object obj)
{
if(obj!=null)
CommUtil.Obj2Map(obj,this.getTextElement());
}
当然,在Java领域,老外及前辈们在java程序(真实)对象这块已经有了很多研究,也有很多名字,如VO,PO等。大家可以baidu一下在对象持久化中有关VO、PO等的一些资料。
致于XO嘛,暂时还没有......。
附:EasyJWeb简介
EasyJWeb是基于java技术,应用于WEB应用程序快速开发的MVC框架,框架设计构思来源于国内众多项目实践,充分借签了当前主要流行(主流)的开源Web框架(Struts、JSF、Tapestry 、Webwork),吸取了其优点及精华,利用Velocity作为模板页面引擎,是一个实现了页面及代码完全分离的MVC开发框架,是一个旨在于为中小型Web应用系统提供快速开发实践的简易Web框架。
EasyJF开源团队于2006年初才开始建设,因此当前整个开发团队组建以及所发布的作品,都显得极不成熟。EasyJWeb仍然处于测试阶段,恳请请广大的Java爱好者多多批评及建议。同进也非常欢迎您能加入到我们的国产开源队伍中。
EasyJWeb官方网址:www.easyjf.com
EasyJF团队官方网址:www.easyjf.com
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=641233
- EasyJWeb中的VO、PO及XO
- EasyJWeb中的VO、PO及XO
- EasyJWeb中的VO、PO及XO
- EasyJWeb中的VO、PO及XO
- EasyJWeb中的VO、PO及XO
- EasyJWeb中的VO、PO及XO
- EasyJWeb中的VO、PO及XO
- EasyJWeb中的VO、PO及XO
- EasyJWeb中的VO、PO及XO
- EasyJWeb中的VO、PO及XO
- EasyJWeb中的VO、PO及XO
- Hibernate中的VO和PO
- Java中的PO和VO
- PO VO DTO BO区别及用法
- Java中的VO、DTO、DO、PO
- VO , PO
- Java中的(PO,VO,TO,BO,DAO,POJO)名称解释及说明
- pojo,po,vo区别,及hibernate和JDO差别
- EasyJFCMS项目正式启动,诚邀国内开源爱好者加入(附uml图)
- 玩玩Spring之Rod Johnson 与“轮子理论”
- Windows API一日一练(25)CreateSolidBrush函数
- 玩玩Spring之hibernate+ webwork+ spring添删改查示例
- 玩玩Spring之hibernate+ webwork+ spring添删改查示例
- EasyJWeb中的VO、PO及XO
- 开源管理新体验-《EasyJF开源团队章程》发布
- Spring中的Rod Johnson 与“轮子理论”
- 圣殿祭司:ASP.NET 2.0 开发详解——使用C#——全国购书地址一览表
- 80前的前辈,你们都做了些什么?!(一)
- 一个“Sprng轮子”引发的“血案”(3)
- Windows API一日一练(24)DrawText函数
- 世界杯与国产开源(二)
- 玩玩Spring之hibernate+ webwork+ spring添删改查示例