隨筆 - 115  文章 - 481  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(19)

          隨筆檔案(115)

          文章檔案(4)

          新聞檔案(1)

          成員連接

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

            這里的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?
          posted on 2006-03-28 22:35 簡易java框架 閱讀(478) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 色达县| 儋州市| 博罗县| 望城县| 昌吉市| 澄城县| 高要市| 台北市| 乌恰县| 望城县| 祁连县| 石狮市| 右玉县| 怀柔区| 海南省| 磐石市| 永仁县| 荃湾区| 成安县| 朔州市| 兴隆县| 永春县| 元阳县| 江华| 高尔夫| 九台市| 肇州县| 汕尾市| 中牟县| 始兴县| 德惠市| 深州市| 吐鲁番市| 赤水市| 澄迈县| 浦东新区| 农安县| 阿克苏市| 阿坝县| 如东县| 沂南县|