goldrain

          金色雨點(diǎn)

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            37 隨筆 :: 2 文章 :: 239 評(píng)論 :: 0 Trackbacks

          (注:我目前正在基于struts2做一個(gè)輕量級(jí)的快速開(kāi)發(fā)框架,并且不打算使用所以此文中所述的用命令加參數(shù)調(diào)用后臺(tái)邏輯的方式,命令的方式可能更有利于分層和解耦,但對(duì)快速開(kāi)發(fā)并不有利。所以本文僅供參考。)

          Jacker模塊開(kāi)發(fā)主要可分為操作界面和提交數(shù)據(jù)兩部分。

          在Jacker中,操作界面仍然沿用Web中傳統(tǒng)的URL得到html的方式獲取,這樣的做法與純Ajax構(gòu)建界面不同,但也有其方便性。
          1. 通過(guò)簡(jiǎn)短的URL鏈接,獲取豐富的頁(yè)面(操作界面),是http協(xié)議所擅長(zhǎng)的;
          2. 界面操作權(quán)限也可以在服務(wù)器端產(chǎn)生頁(yè)面時(shí)進(jìn)行控制,比如某些鏈接由于沒(méi)權(quán)限不能顯示,某些按鈕要disable掉;
          3. 由于頁(yè)面在服務(wù)器端產(chǎn)生,在后臺(tái)能充分利用hibernate延遲加載,只加載頁(yè)面展示需要的數(shù)據(jù);
          4. 你仍然可以使用傳統(tǒng)的頁(yè)面開(kāi)發(fā)工具開(kāi)發(fā)所見(jiàn)即所得的html頁(yè)面模板,比如DreamWeaver;
          5. 對(duì)于使用MVC框架的開(kāi)發(fā)者,URL獲取操作界面正是他們所熟悉的,沒(méi)有學(xué)習(xí)臺(tái)階;
          正是基于很多原因,URL,html這些原始的Web元素在Jacker中得到了保留,同時(shí)作為對(duì)Html的擴(kuò)展,頁(yè)面引入了很多有用的Ajax組件,豐富了數(shù)據(jù)展示和交互能力,比如:Grid,Tree等;

          接著說(shuō)提交數(shù)據(jù),在Jacker中,提交數(shù)據(jù)與傳統(tǒng)的http post完全不同,采用了ajax方式,提交數(shù)據(jù)并保持當(dāng)前頁(yè)面。客戶端組織好需要提交的js數(shù)據(jù)對(duì)象后,可使用命令+參數(shù)的方式提交給服務(wù)器端運(yùn)行并得到結(jié)果js對(duì)象。服務(wù)器端Java對(duì)象和客戶端js數(shù)據(jù)對(duì)象的互轉(zhuǎn)由框架實(shí)現(xiàn),所以客戶端的調(diào)用清晰便捷,實(shí)現(xiàn)跨語(yǔ)言調(diào)用。

          附圖:

          上圖演示了Jacker框架的一次完整的交互:產(chǎn)生一個(gè)id為xxx的customer資料維護(hù)界面,修改customer數(shù)據(jù)提交保存。在Jacker框架下,任意復(fù)雜的模塊都是獲取界面+提交數(shù)據(jù)這兩種基本模式的組合。

          posted on 2008-04-08 15:45 goldrain 閱讀(1884) 評(píng)論(5)  編輯  收藏

          評(píng)論

          # re: Jacker開(kāi)發(fā)框架概述 (Html結(jié)合Ajax) 2008-04-08 20:35 HiMagic!
          不錯(cuò),和我設(shè)想的框架很相似  回復(fù)  更多評(píng)論
            

          # re: Jacker開(kāi)發(fā)框架概述 (Html結(jié)合Ajax) 2008-04-08 21:05 esmiles
          感覺(jué)很簡(jiǎn)捷,試試看。  回復(fù)  更多評(píng)論
            

          # re: Jacker開(kāi)發(fā)框架概述 (Html結(jié)合Ajax) 2008-04-25 14:45 cayyr
          不post ,長(zhǎng)數(shù)據(jù)怎么處理? 短文本處理是沒(méi)啥問(wèn)題
          輸入完成回顯采用同步還是異步,容錯(cuò)性呢 save出錯(cuò)后與異步回顯如何處理
            回復(fù)  更多評(píng)論
            

          # re: Jacker開(kāi)發(fā)框架概述 (Html結(jié)合Ajax) 2008-04-25 20:51 goldrain
          @cayyr
          長(zhǎng)數(shù)據(jù)一樣提交,ajax對(duì)提交有長(zhǎng)度限制嗎?
          提交數(shù)據(jù)demo中都是同步,你可以選擇異步方式。
          save出錯(cuò)后臺(tái)有記錄,前臺(tái)簡(jiǎn)單的alert失敗信息。這都是框架會(huì)處理的。
          異步回顯不很清楚你指什么。  回復(fù)  更多評(píng)論
            

          # re: Jacker開(kāi)發(fā)框架概述 (Html結(jié)合Ajax) 2008-04-25 22:40 goldrain
          @cayyr
          我想異步回顯你是指異步調(diào)用后返回值如何處理
          異步調(diào)用一般都是用傳遞回調(diào)函數(shù)做返回值處理,Jacker也是這么做的
            回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 彝良县| 庄浪县| 辽宁省| 贵德县| 宣威市| 信丰县| 石景山区| 朝阳区| 怀来县| 濮阳市| 湾仔区| 五大连池市| 密山市| 汤原县| 宁海县| 浠水县| 舒城县| 开封市| 错那县| 普陀区| 仪陇县| 栾城县| 黎川县| 来凤县| 锡林浩特市| 卓尼县| 和田县| 常德市| 邓州市| 涿鹿县| 望江县| 习水县| 万安县| 日喀则市| 辽阳市| 略阳县| 铜川市| 武定县| 太仓市| 兰考县| 汪清县|