ext js配合dwr在java中的用法

  1. ext:http://extjs.com/deploy/ext-1.0.1/docs/在這裏可以瞭解ext的具體用法,和一些demo,example。
  2. dwr:http://getahead.org/dwr/documentation 
  3. dwr例子:https://dwr.dev.java.net/files/documents/2427/39350/ajaxtm.rar
  4. dwr  介紹ppt: https://dwr.dev.java.net/files/documents/2427/39353/ajax_transportation_methods.ppt

瞭解了這兩個技術後我們來看看它們之間是怎樣一個數據流入處理過程。

 

要想讓dwr與ext有數據上的交互,我們可以看下,ext對數據的處理過成,因爲這兩個交互最主要的就是一個數據怎麼流入,和流出的過程。分析ext的結構,發發現ext裏面有一個專門對數據類型轉化的處理,就是在ext.data下面的這些:
在這裏面有可以對許多類型進行轉化,但是沒有dwr的,這就需要自己根據他們的結構來繼承一個:代碼在附件中,這個是我在yahoo上看到的。
嵌入這個js後,我們就可以開始把dwr的數據放到ext裏面來了。
For example:
//一個紀錄類型mapping
var recordType = Ext.data.Record.create([
           {name: "name",mapping:"name", type: "string"},
           {name: "id",mapping: "id"},
           {name: "realname",mapping:"realName", type: "string"},
           {name: "createtime",mapping:"createTime", type: "date"},
  ]);
 
//一個數據存儲的結構吧。
 // create the Data Store
    var ds = new Ext.data.Store({
        // load using DWRProxy
        proxy: new Ext.data.DWRProxy(memberService.listMember, true),
        // create reader that reads the Topic records
        reader: new Ext.data.ListRangeReader({
            totalProperty: 'totalSize',
            id: 'id'
        }, recordType),
        // turn on remote sorting
        remoteSort: true,
        sortInfo:{field: 'id', direction: 'DESC'}
    });
 
結合附件上定義的Exit.data.DWRProxy Ext.data.ListRangeReader。來看一下具體的操作過程;
上面劃下劃線鮮紅部分,是dwr的數據流進點,通過js調用service層java代碼,來返回數據,放到dwr結構裏面存放。
這裏只是一個簡單的數據流程,當然要想弄清楚,這個過程到底是怎麼走,這個就要去看ext原碼了,還沒仔細研究,正在努力中。所以這裏的文章避免不了,一些錯誤之處,希望大家發現bug,或有什麼好的想法可一跟貼。

 

發佈了1 篇原創文章 · 獲贊 0 · 訪問量 875
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章