EasyJWeb中的VO、PO及XO

  这里的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嘛,暂时还没有......。 [:E]
 
  附: 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 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EasyJWeb综述 EasyJWeb是基于java技术,用于企业级Java Web应用程序快速开发的MVC框架框架设计构思来源于国内众多项目实践,框架的设计及实现借鉴当前主要流行的开源Web框架,如Rails、Struts、JSF、Tapestry等,吸取其优点及精华,是一个完全由来自的国开源爱好者开发,文档及注释全部为文的开源框架EasyJWeb由主要由四个部分组成: 1、核心MVC。EasyJWeb的核心是一个基于模板技术实现的MVC框架;他能让我们用非常简洁的代码写基于JavaWeb应用。 2、容器及通用业务逻辑封装。作为一个旨在让基于JavaWeb应用程序开发变得直接、快速、简易的框架EasyJWeb提供了一个IoC容器,并对企业级应用的一些通用业务逻辑(如分页、查询、DAO等)进行了抽象及封装,提供了一套可以直接操作、应用企业资源的组件及API。 3、代码生成引擎及工具。仅仅依靠一个灵活、简易的MVC核心引擎还不能最大限度的提高开发速度,因此EasyJWeb还提供了一个灵活、易用的代码生成引擎及工具,通过使用代码生成引擎,可以快速完成基于JavaEE平台的企业级应用程序生成。如数据库添删改查(CRUD)代码生成、自动页面模版生成、自动配置文件管理等。 4、EasyJWeb插件体系,项目的各种实用功能的扩展,可以灵活地通过基于插件的形式安装到EasyJWeb,提供各种针对性的功能。如ajax实用插件、代码生成插件等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值