appfuse+qooxdoo+JSON-RPC-JAVA

          ??? 我在學(xué)習(xí)appfuse的時(shí)候感覺(jué)里面的內(nèi)容還是有些多了,對(duì)于我們的項(xiàng)目需求和開(kāi)發(fā)人員的工作經(jīng)驗(yàn)都顯得內(nèi)容過(guò)多,所以我做了一些簡(jiǎn)化,同時(shí)也作了一些修改與擴(kuò)展,其中最主要的是將DWR換為了JSON-RPC-JAVA,界面開(kāi)發(fā)采用了qooxdoo。經(jīng)過(guò)這些簡(jiǎn)化和擴(kuò)展現(xiàn)在新同事對(duì)技術(shù)框架的學(xué)習(xí)速度非常快,除了qooxdoo外其他部分有一點(diǎn)hibernate基礎(chǔ)的同事一天就可以掌握,這種效果我認(rèn)為spring占據(jù)了最主要的功勞。

          ? 我現(xiàn)在開(kāi)發(fā)的兩個(gè)項(xiàng)目都是使用qooxdoo做界面開(kāi)發(fā),也曾經(jīng)打算過(guò)使用dojo,但學(xué)習(xí)的過(guò)程發(fā)現(xiàn)qooxdoo由于和java swing的類(lèi)似性,上手更快,解決難題的速度也更快,所以后來(lái)就確定下來(lái)使用qooxdoo來(lái)作為界面開(kāi)發(fā)了。而且就默認(rèn)的樣式來(lái)講,qooxdoo也比dojo漂亮多了。
          ? 對(duì)于RPC,本來(lái)我是使用的DWR,但現(xiàn)在改用JSON-RPC-JAVA了,不同的是這個(gè)JSON-RPC-JAVA我做了較大的改動(dòng),因?yàn)樵瓉?lái)的JSON-RPC-JAVA遠(yuǎn)不如DWR好用。但現(xiàn)在在當(dāng)前項(xiàng)目中,基本沒(méi)有學(xué)習(xí)的難度和使用的難度。
          ??? 今天沒(méi)時(shí)間仔細(xì)寫(xiě)這篇文章了,先放在這里幾個(gè)圖片,給大家一個(gè)直觀的了解,后面我會(huì)把我們對(duì)qooxdoo的使用心得,放在文章區(qū)。

          這是我給其他同事寫(xiě)的qooxdoo的ListView以及drag&drop的演示。兩個(gè)ListView之間可以相互拖動(dòng)條目,可以拖動(dòng)某些條目到垃圾箱,進(jìn)行刪除。右下角是log區(qū)。(這里使用的是firefox)


          這是項(xiàng)目的主界面(使用的是IE)

          這是一個(gè)包含基本的CRUD操作的簡(jiǎn)單界面,其中權(quán)限是使用的Combox

          posted on 2006-07-23 14:44 一農(nóng) 閱讀(8332) 評(píng)論(58)  編輯  收藏

          評(píng)論

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-24 11:11 胡子魚(yú)

          不知老兄選JSON-RPC-JAVA而不選DWR的理由是什么?  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-24 13:44 一農(nóng)

          我需要對(duì)DWR來(lái)做一些改動(dòng)來(lái)適應(yīng)我自己的需要,但在我看懂DWR之前我看懂了JSON-RPC-JAVA(幾眼就看懂了),而且能滿(mǎn)足我的需要所以我就改造JSON-RPC-JAVA了,現(xiàn)在仍然使用JSON-RPC-JAVA的原因是JSON-RPC-JAVA是基于JSON-RPC的,而DWR的協(xié)議更私有一些。另外因?yàn)槲沂褂昧藂ooxdoo,DWR的一些js代碼顯的多余了,雞肋一般。等我把JSON-RPC-JAVA再做些改動(dòng),吸收DWR的一些優(yōu)點(diǎn),從我的項(xiàng)目中抽取出來(lái)之后我會(huì)將代碼公開(kāi)出來(lái)。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-24 14:28 原創(chuàng)專(zhuān)欄 開(kāi)源學(xué)習(xí)

          我覺(jué)得我們更應(yīng)該把精力放到業(yè)務(wù)上.
          不應(yīng)該放到修改框架的bug上面.

          ajax,ui框架太容易讓我們有修改的欲望了.  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-24 15:21 一農(nóng)

          @原創(chuàng)專(zhuān)欄 開(kāi)源學(xué)習(xí)
          我修改的目的就是為了讓其他同事能將精力都放在業(yè)務(wù)上,而不是技術(shù)上。

          “ajax,ui框架太容易讓我們有修改的欲望了. ”我做編碼有幾年了,被震撼了幾次以后,對(duì)自己使用的框架的修改欲望完全都是來(lái)源于項(xiàng)目的需要,特別是對(duì)今后可能升級(jí)的框架,一般不和原始作者溝通,我是不會(huì)做修改的。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-24 16:32 小弟

          頂  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-29 16:36 福星高照

          qooxdoo的listview能像表格一樣每個(gè)單元格都有邊框嗎?
          他的例子里面是找不到的,調(diào)試了半天listview的各項(xiàng)屬性和函數(shù)都不成,因?yàn)閲?guó)內(nèi)很多地方都要求單元格有邊框,如果做不到就不能用了,不過(guò)qooxdoo的界面確實(shí)不錯(cuò),雖然比不上echo2,但速度快多了  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-29 17:29 一農(nóng)

          to 福星高照
          ListView的單元格實(shí)際上是一個(gè)個(gè)的div拼起來(lái)的,如果需要邊框就要改變這些div的border,這個(gè)需要你設(shè)置單元格的邊框?qū)傩浴D憧梢粤私鈗ooxdoo的theme,然后給你用的單元格,添加border屬性就可以實(shí)現(xiàn)了。我試了一下可以,但如果你要對(duì)邊界上的單元格和內(nèi)部的單元格做區(qū)別對(duì)待的話,就要修改庫(kù)的代碼了。或者對(duì)所有單元格二次處理一遍。

          echo2和qooxdoo的機(jī)制不一樣,速度上不好比。echo2也有設(shè)計(jì)工具了,這個(gè)滿(mǎn)方便的,但我覺(jué)著echo2的方式不太好,至少我不喜歡。qooxdoo+rpc的開(kāi)發(fā)模式更像C/S方式的開(kāi)發(fā),可惜沒(méi)有界面設(shè)計(jì)工具,也沒(méi)有很好的javascript編輯環(huán)境,不過(guò)我們現(xiàn)在盡量將邏輯放在后臺(tái),所以開(kāi)發(fā)起來(lái)感覺(jué)還是蠻好的,比傳統(tǒng)的網(wǎng)頁(yè)方式感覺(jué)還好,還快,一個(gè)同事說(shuō),使用qooxdoo+rpc感覺(jué)很多事情都很直接,而不是像使用網(wǎng)頁(yè)刷新那樣,要考慮頁(yè)面數(shù)據(jù)的保留問(wèn)題等等。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-30 18:56 hawk

          你好,最近也適用了一下qooxdoo,感覺(jué)真的不錯(cuò),對(duì)于面向?qū)ο箝_(kāi)發(fā)來(lái)說(shuō),是一個(gè)不錯(cuò)的b/s開(kāi)發(fā)模式,在這里,我想請(qǐng)教你一個(gè)關(guān)于listview的問(wèn)題,如何才能設(shè)置交替出現(xiàn)行的顏色呢?謝謝!  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-30 22:56 一農(nóng)

          @hawk
          這個(gè)問(wèn)題我也嘗試了一下,但沒(méi)成功,還沒(méi)時(shí)間去了解原因,你可以查看一下LisView里的幾個(gè)單元格的類(lèi),可以添加字體等樣式的,但我加了背景后背景的顯示總是一閃一閃的。現(xiàn)在我用的電腦上沒(méi)源碼,我會(huì)抽時(shí)間研究一下這個(gè)問(wèn)題,到時(shí)在此回復(fù)一下。
          另外推薦firebug,可以幫助你解決這個(gè)問(wèn)題。
            回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-31 10:52 福星高照

          我以前就看過(guò)listview生成的html,確實(shí)是div的,但強(qiáng)行更改其div的樣式是不行,不知道你說(shuō)的修改其theme是怎么實(shí)現(xiàn)的,能否給個(gè)例子,我研究qx不久,沒(méi)什么經(jīng)驗(yàn)

          我以前也是用appfuse+dwr來(lái)實(shí)現(xiàn)ajax的,感覺(jué)還行,表格是仿照displaytag的樣式,覺(jué)得不足的地方就是dwr一旦得不到數(shù)據(jù),就會(huì)彈出對(duì)話框,很是不爽,不知道rpc是這樣的嗎  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-31 12:17 一農(nóng)

          @福星高照
          1、你在qooxdoo-0.5.2-dos\themes\appearance\default下會(huì)看到theme.js文件,看一下代碼就明白了^0^
          2、JSON-RPC-JAVA在后臺(tái)發(fā)生異常時(shí),他會(huì)生成一個(gè)js的異常,你可以捕獲該異常然后自行處理。如果得不到數(shù)據(jù)就直接返回你返回的內(nèi)容,或?yàn)閚ull,或?yàn)榭諗?shù)組等。

          不知兄弟,身在何方,如果在南京,我們可以一起聊聊。我現(xiàn)在有個(gè)java的學(xué)習(xí)小組,大家互相學(xué)習(xí),互相促進(jìn)。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-31 14:11 福星高照

          呵呵,我在北京,我小舅子在南京
          有經(jīng)驗(yàn)大家交流唄:)
          我下載的是0.5.3沒(méi)有theme.js
          我弄個(gè)0.5.2來(lái)瞅瞅  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-31 14:54 福星高照

          原來(lái)在source里面才有theme.js,確實(shí)整成功了單元格的邊框,不過(guò)感覺(jué)還是沒(méi)有表格的好,如果高度不合適的話,最后一行是不完整的,可能有點(diǎn)吹毛求疵了吧,但在實(shí)際應(yīng)用中用戶(hù)總是這樣挑三揀四的,沒(méi)轍

          對(duì)了,不知道你需要不需要qooxdoo的表格排序,默認(rèn)情況下,qooxdoo是不支持中文排序的,得修改它的腳本才行。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-07-31 15:20 一農(nóng)

          @福星高照
          1、你說(shuō)的情況確實(shí)是的
          2、我測(cè)試的是支持中文排序的,你再檢查一下看看,不過(guò)我還沒(méi)來(lái)得及看0.5.3,另外如果你需要特殊的排序方法,可以自己添加排序方法,可以參考一下
          QxCompare.js
          3、我的gmail信箱是ynstudio,在這回帖聊天怕影響別人瀏覽^0^。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-01 16:56 福星高照

          呵呵,增加增加人氣嘛
          我研究了一下qooxdoo的QxCompare.js代碼,發(fā)現(xiàn)它不能正確的實(shí)現(xiàn)中文排序啊?
          他的排序不是按照中文拼音實(shí)現(xiàn)的,是不是你改過(guò)了QxCompare的代碼了?

          ps:qxmenu好像不能捕獲mouseleave事件,我本來(lái)想通過(guò)這個(gè)事件實(shí)現(xiàn)鼠標(biāo)移開(kāi)菜單就自動(dòng)消失的,有其他方法實(shí)現(xiàn)嗎  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-01 17:49 李孜

          我最近也再看Qooxdoo,比較關(guān)心性能的問(wèn)題,主要是動(dòng)態(tài)創(chuàng)建一些控件后,如果又刪除掉,好像無(wú)法使內(nèi)存使用降到創(chuàng)建之前的水平,除非刷新頁(yè)面,這點(diǎn)好像Bindows做的比較好。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-01 21:37 一農(nóng)

          @福星高照

          1、我剛才看了一下確實(shí)中文排序有問(wèn)題,不過(guò)我猜想原因是我使用RPC是基于utf-8的,所以排序不是按拼音。utf-8里漢字是按筆劃組織的。這個(gè)問(wèn)題我有時(shí)間會(huì)測(cè)一下原因,不過(guò)似乎不好解決,沒(méi)辦法的話,可能要交由后臺(tái)處理一下了。

          2、這個(gè)我沒(méi)了解過(guò),你可以參考一下menubarbutton。



          @李孜
          首先是remove,然后再dispose掉,不過(guò)也降不到初始值。bindows不是免費(fèi)的,所以我這邊沒(méi)有使用。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-02 10:20 福星高照

          排序跟rpc沒(méi)有任何關(guān)系,qooxdoo默認(rèn)用的是sort方法,這個(gè)方法的排序是按照字符集的順序來(lái)的

          關(guān)于中文排序問(wèn)題,可以修改QxCompare.js,把QxCompare.byString的方法改了,倒是很簡(jiǎn)單,改成return a.localeCompare(b);

          localeCompare()使用本地特定的順序來(lái)比較兩個(gè)字符串,語(yǔ)法如下:
          string.localeCompare(target)
          參數(shù)target是要與string進(jìn)行比較的字符串。
          如果string小于target,則localeCompare()返回小于0的數(shù);
          如果string大于target,返回大于0的數(shù);

          如果不愿意改QxCompare.byString,那么添加一個(gè)compare對(duì)象也成

          關(guān)于ajax的內(nèi)存問(wèn)題,這屬于正常情況,好像大部分(或者任何?)javascript創(chuàng)建對(duì)象后都不能把該對(duì)象的內(nèi)存完全釋放,由于ajax不刷新頁(yè)面,所以?xún)?nèi)存就越用越多了
          我倒是覺(jué)得不用考慮內(nèi)存的問(wèn)題,因?yàn)檫@內(nèi)存是客戶(hù)端的內(nèi)存,和服務(wù)器沒(méi)有任何關(guān)系,只要頁(yè)面和服務(wù)器通訊而重新載入(比如按刷新健或f5鍵),就會(huì)回到原始的內(nèi)存狀態(tài)
          除非用戶(hù)長(zhǎng)時(shí)間的停留在一個(gè)頁(yè)面,而這個(gè)頁(yè)面又需要定時(shí)調(diào)用ajax,才會(huì)逐漸造成內(nèi)存增加(我們就碰到過(guò)這種問(wèn)題,后來(lái)的解決方案是過(guò)段時(shí)間自動(dòng)刷新一次)  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-02 10:21 福星高照

          排序跟rpc沒(méi)有任何關(guān)系,qooxdoo默認(rèn)用的是sort方法,這個(gè)方法的排序是按照字符集的順序來(lái)的

          關(guān)于中文排序問(wèn)題,可以修改QxCompare.js,把QxCompare.byString的方法改了,倒是很簡(jiǎn)單,改成return a.localeCompare(b);

          localeCompare()使用本地特定的順序來(lái)比較兩個(gè)字符串,語(yǔ)法如下:
          string.localeCompare(target)
          參數(shù)target是要與string進(jìn)行比較的字符串。
          如果string小于target,則localeCompare()返回小于0的數(shù);
          如果string大于target,返回大于0的數(shù);

          如果不愿意改QxCompare.byString,那么添加一個(gè)compare對(duì)象也成

          關(guān)于ajax的內(nèi)存問(wèn)題,這屬于正常情況,好像大部分(或者任何?)javascript創(chuàng)建對(duì)象后都不能把該對(duì)象的內(nèi)存完全釋放,由于ajax不刷新頁(yè)面,所以?xún)?nèi)存就越用越多了
          我倒是覺(jué)得不用考慮內(nèi)存的問(wèn)題,因?yàn)檫@內(nèi)存是客戶(hù)端的內(nèi)存,和服務(wù)器沒(méi)有任何關(guān)系,只要頁(yè)面和服務(wù)器通訊而重新載入(比如按刷新健或f5鍵),就會(huì)回到原始的內(nèi)存狀態(tài)
          除非用戶(hù)長(zhǎng)時(shí)間的停留在一個(gè)頁(yè)面,而這個(gè)頁(yè)面又需要定時(shí)調(diào)用ajax,才會(huì)逐漸造成內(nèi)存增加(我們就碰到過(guò)這種問(wèn)題,后來(lái)的解決方案是過(guò)段時(shí)間自動(dòng)刷新一次)  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-02 10:52 李孜

          關(guān)于內(nèi)存的問(wèn)題我覺(jué)得其實(shí)還是很重要的,確實(shí)對(duì)于qooxdoo而言,在重新載入后內(nèi)存會(huì)回到初始值,但是重新載入的代價(jià)是比較高的,一方面要載入近700K的js,另一方面服務(wù)器端還要考慮如何保持刷新前的狀態(tài)。
          昨天查看了一下bug列表,發(fā)現(xiàn)有個(gè)改進(jìn)缺陷就是關(guān)于內(nèi)存問(wèn)題的,不過(guò)不知道到哪個(gè)版本可以解決
          http://bugzilla.qooxdoo.org/show_bug.cgi?id=39
            回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-02 11:54 一農(nóng)

          @福星高照
          localeCompare,^0^,好

          @李孜
          開(kāi)發(fā)人員的回復(fù)只是解釋了,這個(gè)內(nèi)存問(wèn)題的原因,并沒(méi)有說(shuō)可以解決,除了刷新,我們發(fā)現(xiàn)只有把所有相關(guān)的頁(yè)面都最小化,IE才會(huì)進(jìn)行內(nèi)存的釋放。
          你說(shuō)bindows沒(méi)這個(gè)問(wèn)題,抽時(shí)間研究一下。不過(guò)在我們項(xiàng)目里,主要的內(nèi)存消耗我們發(fā)現(xiàn)是由于window.open造成的,同一頁(yè)面長(zhǎng)時(shí)間操作變化不算太大。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-02 12:55 福星高照

          js不需要每次都載入吧,緩存不能對(duì)js起作用嗎?
          關(guān)于刷新前的狀態(tài),該保留的還是得保留吧,如果客戶(hù)手動(dòng)刷新,難道不處理?
          我看了看bugzilla,好像不能很快解決,說(shuō)得是This is not directly a memory leak

          一農(nóng)
          你說(shuō)得太簡(jiǎn)單,menubarbutton如何用  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-03 13:37 一農(nóng)

          @福星高照

          1、"你說(shuō)得太簡(jiǎn)單,menubarbutton如何用"
          因?yàn)槲椰F(xiàn)在沒(méi)時(shí)間去看這個(gè)問(wèn)題所以我才說(shuō),讓你參考一下menubarbutton,因?yàn)镼xmenubar就處理了mouseleave,來(lái)切換menu。

          2、"js不需要每次都載入吧,緩存不能對(duì)js起作用嗎?"
          js文件是被緩存但是瀏覽器還是要重新把qooxdoo.js解釋一遍,這個(gè)是消耗時(shí)間的,而且是明顯的消耗時(shí)間。

          3、"關(guān)于刷新前的狀態(tài),該保留的還是得保留吧,"
          不單刷新,而且后退也應(yīng)該處理的,但感覺(jué)會(huì)帶來(lái)麻煩,對(duì)我做的項(xiàng)目來(lái)講似乎也無(wú)必要.不知你是如何保留刷新前狀態(tài)的.如果我來(lái)處理這個(gè)問(wèn)題的話,我可能會(huì)模仿編輯器的方式設(shè)置一個(gè)undomanager,來(lái)處理,通過(guò)iframe來(lái)記錄后退。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-03 19:57 一馬

          學(xué)習(xí)中...
          比較深?yuàn)W
          請(qǐng)各位多指教  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-04 10:06 福星高照

          menubar用的是mouseout,其實(shí)研究研究qooxdoo所有的關(guān)于menu的例子就會(huì)發(fā)現(xiàn)還是存在一定bug的,理論上,如果出現(xiàn)子菜單以后,再回到主菜單,展開(kāi)的子菜單應(yīng)該消失才對(duì),但實(shí)際上,如果快速的移動(dòng),子菜單是不會(huì)消失的,這就是mouseout的問(wèn)題所在。
          如果在debug模式下,可以看得見(jiàn),mouseout有時(shí)候的parent是menulayout,有時(shí)候是clientdocment,所以用mouseout就有這個(gè)問(wèn)題  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-08 16:21 hawk

          有好幾天沒(méi)來(lái)了,呵呵,上次我提過(guò)的QxListView交替行顏色的問(wèn)題,我參考QxList例子修改了源代碼,增加了一個(gè)backgroundColorUnselected屬性,雖然能過(guò)出現(xiàn)交替顏色,目前還沒(méi)有問(wèn)題,不過(guò),總感覺(jué)有些不對(duì)勁,希望,大家能提供更好的解決法案,在不修改源碼的前提下實(shí)現(xiàn),呵呵,另外,我還想問(wèn)一個(gè)問(wèn),我用QxRequest獲取數(shù)據(jù),返回的卻是中文亂碼,不知道大家是怎么解決這個(gè)問(wèn)題的,請(qǐng)指教!:)  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-08 16:25 hawk

          另外我個(gè)人覺(jué)得QxListView并不適合大量數(shù)據(jù)的顯示,在數(shù)據(jù)列太多情況下,滾動(dòng)條的速度變的慢的難以接受,我更喜歡active_widgets的grid,如果能寫(xiě)一個(gè)QxGrid就好了,呵呵  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-09 09:17 sun123

          不知福星高照 老兄的menu問(wèn)題解決了沒(méi)有,我也非常想解決這個(gè)問(wèn)題,
          我是因?yàn)樵趍enu下面放了個(gè)Qxiframe,當(dāng)打開(kāi)menu時(shí)候,點(diǎn)在Qxiframe里面,menu就不會(huì)自動(dòng)關(guān)上,非常麻煩。
          另外,強(qiáng)烈建議大家搞個(gè)討論qx的地方,上傳一些例子share。
            回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-09 10:04 一農(nóng)

          @hawk
          我用QxRequest獲取數(shù)據(jù),返回的卻是中文亂碼,

          你查一下response的header中是否有編碼信息,如果沒(méi)有在header中添加編碼信息。

          @hawk
          另外我個(gè)人覺(jué)得QxListView并不適合大量數(shù)據(jù)的顯示,在數(shù)據(jù)列太多情況下,滾動(dòng)條的速度變的慢的難以接受,我更喜歡active_widgets的grid,如果能寫(xiě)一個(gè)QxGrid就好了,呵呵

          是的,QxListView的效率不太好,我看到其他庫(kù)的一些ListView(有的叫g(shù)rid)是基于table實(shí)現(xiàn)的,而QxListView是單獨(dú)的一個(gè)個(gè)div,在我的T42上其實(shí)運(yùn)行還是滿(mǎn)流暢的,但配置差一些的機(jī)器就明顯的滿(mǎn)了。http://www.linb.net/ 的ListView(grid)滿(mǎn)好的可以參考一下,linb是國(guó)人開(kāi)發(fā)的,不錯(cuò)。

          @sun123
          你的問(wèn)題和福星高照兄的不一樣,你用iframe后,就會(huì)存在這樣的問(wèn)題,因?yàn)椴藛蔚娘@示和消失是通過(guò)感知鼠標(biāo)的,但當(dāng)你的鼠標(biāo)進(jìn)入iframe后,菜單所在的frame就無(wú)法感知鼠標(biāo)了,所以也就消失不了了。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-09 10:06 一農(nóng)

          @sun123

          另外,強(qiáng)烈建議大家搞個(gè)討論qx的地方,上傳一些例子share。

          大家可以看看哪家論壇可以提供這個(gè)幫助,我朋友有個(gè)論壇,但其主題和這個(gè)不是很合適,雖然他們公司也是做互聯(lián)網(wǎng)開(kāi)發(fā)的。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-09 12:52 sun123

          謝謝一農(nóng)兄的回應(yīng)
          那我能不能寫(xiě)一個(gè)函數(shù),通過(guò)iframe的mouse move 調(diào)用parent的函數(shù),關(guān)閉現(xiàn)在打開(kāi)的菜單( 如果有菜單打開(kāi)的話),這個(gè)函數(shù)該怎么寫(xiě)呢?
          如果實(shí)現(xiàn)鼠標(biāo)移開(kāi)菜單就自動(dòng)消失的效果,我想我的問(wèn)題也解決了。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-11 13:46 福星高照

          to:sun123
          研究了一下qooxdoo的代碼,本來(lái)想添加mouseleave事件的,未果,是水平也不夠啊時(shí)間也不多,呵呵

          如果確實(shí)有隱藏菜單這種需求的話(好多客戶(hù)都會(huì)提的),我想可以捕獲ClientDocument的mousemove事件來(lái)實(shí)現(xiàn)這一功能,不能算好的想法,但確實(shí)能做到,呵呵  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-11 13:47 福星高照

          我以example下的menu1.htm為例作個(gè)例子給你看看吧,供參考
          把這些代碼放到main函數(shù)的最后
          var timer=new QxTimer(250);//設(shè)置timer的間隔
          timer.addEventListener("interval", hidemenu, this);//設(shè)置timer在間隔后關(guān)閉菜單,同時(shí)停止timer
          function hidemenu(o){
          timer.stop();
          m1.hide();//m1為主菜單
          }

          d.addEventListener("mousemove", dividerDragMove, this); //d為this.getClientWindow().getClientDocument();
          function dividerDragMove(e){
          //this.debug(e.getTarget());
          var t = e.getTarget();
          if (t==d && m1.isSeeable()){
          timer.start();//如果菜單可見(jiàn),同時(shí)鼠標(biāo)位置在getClientDocument上,說(shuō)明鼠標(biāo)已經(jīng)移開(kāi)了菜單,所以啟動(dòng)timer
          //如果d上面還放置了其他的對(duì)象,一起加上,防止移到該對(duì)象時(shí)鼠標(biāo)不消失

          }
          e.setPropagationStopped(true);
          } ;  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-11 13:52 福星高照

          說(shuō)老實(shí)話,其實(shí)我還是喜歡那種客戶(hù)端和server端用get/post來(lái)交互的(在某些地方用用ajax去數(shù)據(jù),我一般都用dwr),qooxdoo好像不是很直觀的能實(shí)現(xiàn),不過(guò)他的ui庫(kù)確實(shí)還不錯(cuò)。
          要是有個(gè)好的純web ui庫(kù)就好了,yahoo ui不怎么好看  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-11 15:47 一農(nóng)

          @福星高照

          YUI我覺(jué)著主要是比較小,如果項(xiàng)目中僅僅是把特殊的WEB UI作為輔助的話,還是不錯(cuò)的,雖然部件還不全。而qooxdoo 700K的代碼真的很頭疼,有些客戶(hù)的舊機(jī)器跑起來(lái)很費(fèi)力。
          我有時(shí)也覺(jué)著使用現(xiàn)在這種模式開(kāi)發(fā)不如以前的直接網(wǎng)頁(yè)get/post方便,一直感覺(jué)有些想不通,為什么會(huì)原來(lái)的模式會(huì)感覺(jué)方便,現(xiàn)在感覺(jué)原因是這樣幾個(gè)方面,1、原來(lái)的時(shí)候頁(yè)面設(shè)計(jì)可以交給美工,現(xiàn)在自己做,2、原來(lái)html和java代碼可以混合寫(xiě),即jsp的方式,現(xiàn)在用javascript將顯示和數(shù)據(jù)進(jìn)行結(jié)合,使用widget還好些,如果是直接操作HTML,那就像CGI的方式了,3、javascript的編輯器比jsp的還不好。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-11 23:10 福星高照

          700多k是有點(diǎn)多,一種辦法是先下載它的源代碼腳本,用demo下的demoinclude進(jìn)行裁減,去掉不用的,然后找壓縮工具壓縮,可能會(huì)好些
            回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-12 14:50 asan

          我是才學(xué)這個(gè)的
          我問(wèn)下樓主,你的主界面上的IE中的菜單條,地址欄等是怎么去掉的????  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-14 16:32 sun123

          to福星高照:
          謝謝你的回答,看來(lái)要處理好這個(gè)菜單問(wèn)題,還是蠻復(fù)雜的。
          to一農(nóng):
          我覺(jué)得你那里舊機(jī)器跑得慢,更重要的原因應(yīng)該不是700k的大小(那是網(wǎng)絡(luò)傳輸?shù)膯?wèn)題),而是機(jī)器的性能。其實(shí)我認(rèn)為那個(gè)700k的js還可以再壓縮的,它內(nèi)部的局部變量名都還有壓縮的余地。
            回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-14 16:36 sun123

          to asan :
          估計(jì)是一農(nóng)在用戶(hù)驗(yàn)證之后又重新打開(kāi)一個(gè)窗口
          :)  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-14 22:06 一農(nóng)

          @asan
          :-)
          正如sun123所說(shuō)。

          @sun123
          我覺(jué)得你那里舊機(jī)器跑得慢,更重要的原因應(yīng)該不是700k的。。。。。

          是的,我的理解是對(duì)于老舊的機(jī)器,瀏覽器解析這700k的代碼可能有些困難,而不是因?yàn)槲募蠖鴤鬏斅瑸g覽器可以緩存的,這個(gè)不是問(wèn)題。多數(shù)情況下,一般的電腦運(yùn)轉(zhuǎn)起來(lái)還是蠻流暢的,只是一次打開(kāi)一個(gè)幾百個(gè)節(jié)點(diǎn)的樹(shù)有明顯的等待,這個(gè)還是可以接受的。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-15 12:39 sun123

          還令我比較煩得是 qx的升級(jí)問(wèn)題
          我從qx 0.12 開(kāi)始寫(xiě)些東西,慢慢跟著升到 0.14 基本上是themes里面多加了些圖標(biāo)和修改了些bug.也沒(méi)什么。后來(lái)到0.15 一下子升到0.51 ,這下我寫(xiě)的東西有好多都不能用了,只有重新寫(xiě)過(guò),現(xiàn)在又有升級(jí)到0.6的跡象,據(jù)說(shuō)是加進(jìn)name space 的支持。不知要不要改寫(xiě)我們的程序。
          :(  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-16 00:52 一農(nóng)

          @sun123

          你是在正式的項(xiàng)目中使用的嗎,能不能詳細(xì)談一下你的想法,包括各類(lèi)ajax庫(kù)的比較,福星高照兄也是,抽時(shí)間寫(xiě)點(diǎn)全面一些的文字,我們也學(xué)習(xí)一下 :-) ,看看高手的想法  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-16 09:26 sun123

          to 一農(nóng)
          其實(shí)我也沒(méi)怎么用的深,只是用qx作framework,他的menu和wedget作的很漂亮,而且速度快,風(fēng)格也同一,dojo有的地方比他好,象fisheye 非常cool.
          ,但是讓我傷腦筋的是他們處理數(shù)據(jù)庫(kù)應(yīng)用的能力實(shí)在不行....。沒(méi)辦法,只能,做iframe來(lái)嵌入,這才出現(xiàn)了我上面的menu問(wèn)題。
          我在iframe里面嵌入的頁(yè)面,就像c/s中的數(shù)據(jù)控件,專(zhuān)職來(lái)處理數(shù)據(jù)維護(hù)、錄入、以及后臺(tái)處理的。
          我這種想法是不是土了點(diǎn)... :-)  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-16 12:09 一農(nóng)

          @sun123

          1、不是很理解你的意思,你的iframe里的頁(yè)面是否也是使用的qooxdoo?
          2、對(duì)于數(shù)據(jù)處理來(lái)講,我們使用QxListView來(lái)列表顯示普通的數(shù)據(jù),使用QxTree來(lái)顯示具有層次關(guān)系的數(shù)據(jù),使用QxTextField,QxComboBox等來(lái)構(gòu)成Form表單,給用戶(hù)輸入數(shù)據(jù),然后將這些數(shù)據(jù)組織成數(shù)據(jù)對(duì)象,使用json-rpc-java來(lái)傳遞為后臺(tái)進(jìn)行處理,官方的json-rpc-java并不好用,你可以使用dwr來(lái)完成同樣的功能。我們使用QxGridLayout來(lái)對(duì)QxTextField,QxComboBox進(jìn)行布局,自己寫(xiě)了一個(gè)FormManager的方法來(lái)對(duì)QxTextField,QxComboBox這些表單項(xiàng)做些輔助性的管理。最后的效果就如本文中的第三張圖片一樣。

          不知這些是否有點(diǎn)用處。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-17 09:26 sun123

          to 一農(nóng)
          1.iframe 里不用qx,是其它的js,你看,如果光用QxTextField和QxComboBox對(duì)付各種數(shù)據(jù)好像還是差一些,比如,怎么區(qū)分?jǐn)?shù)據(jù)類(lèi)型,數(shù)據(jù)位的長(zhǎng)短限制。數(shù)據(jù)顯示格式....等等,如果都到后臺(tái)處理,就浪費(fèi)資源了。就拿你的編號(hào)來(lái)說(shuō),如果數(shù)據(jù)庫(kù)里是char(4),怎么限制用戶(hù)輸入4位呢,如果它輸入4位以上怎么辦呢?這些都自己寫(xiě)的話太累了,還有日期怎么做到y(tǒng)yyy/mm/dd 或yy.mm.dd等不同的格式呢?還有分頁(yè)什么的。
          2.你說(shuō)的布局,是用腳本寫(xiě)出來(lái)的,還是通過(guò)什么格式化數(shù)據(jù)如xml生成出來(lái)的?
          3.你說(shuō) ....然后將這些數(shù)據(jù)組織成數(shù)據(jù)對(duì)象..
          具體是怎么做的?怎么區(qū)分哪些是刪除,哪些是修改的數(shù)據(jù),修改的數(shù)據(jù)又修改了哪些字段?還是你把頁(yè)面上的數(shù)據(jù)都傳遞回去更新?  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-17 10:32 一農(nóng)

          @sun123

          似乎你只是使用qooxdoo做外殼,多數(shù)情況下,還是使用其他的技術(shù)。

          1、你的“其他的js”是什么,我很感興趣,有這么強(qiáng)的功能,還是使用了一些validate框架,如struts的. 現(xiàn)在我都是自己手工在寫(xiě)js進(jìn)行校驗(yàn)。但正在籌備給QxListView提供一些輔助功能,來(lái)達(dá)到校驗(yàn)的目的,同時(shí)附加增刪改的通用代碼,我們還在開(kāi)發(fā)一個(gè)數(shù)據(jù)庫(kù)管理工具,然后在此基礎(chǔ)上,實(shí)現(xiàn)類(lèi)似ROR的一些機(jī)制,如自動(dòng)先生成一套基本的數(shù)據(jù)庫(kù)管理的代碼,然后項(xiàng)目在這些基礎(chǔ)代碼上,進(jìn)行開(kāi)發(fā)。

          2、用腳本寫(xiě)的,準(zhǔn)備用QxBuilder做,但多數(shù)頁(yè)面代碼并不多,大家都懶得去了解QxBuilder。不過(guò)我還是推崇QxBuilder的方式。

          3、你的iframe里的內(nèi)容還是使用基本的struts的方式嗎,我這邊因?yàn)榻缑嫒渴鞘褂胵ooxdoo,所以頁(yè)面不進(jìn)行刷新,與后臺(tái)的數(shù)據(jù)交換都是使用xmlhttpclient,但直接使用顯然開(kāi)發(fā)效率太低,所以使用了一些框架,原來(lái)是使用DWR,我也推薦你使用DWR,雖然我現(xiàn)在使用json-rpc-java,但這是經(jīng)過(guò)我們改造的,在使用方便性上和DWR類(lèi)似。
          我不知該如何說(shuō)明寫(xiě)點(diǎn)示意代碼你參考一下
          后臺(tái)定義類(lèi)
          public class Foo{
          public void saveObject(com.ynstudio.xxx.User user){....}
          }
          然后在spring里注冊(cè)為id='foo'
          前臺(tái)頁(yè)面的js
          var user = new Bean('com.ynstudio.xxx.User');
          user.set('id','ST001002');
          user.set('name','張三');
          json.rpc('foo.saveObject')(user);
            回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-17 17:02 sun123

          to一農(nóng)
          其實(shí)說(shuō)起來(lái)不好意思,我基本上后臺(tái)沒(méi)有用到多少java,主要是用,powerbuilder來(lái)做的,先用powerbuilder做好類(lèi)似bean的東西,然后服務(wù)器按照所有的menthod生成一套ejb的外殼,這樣在jsp里就幾乎把她當(dāng)成ejb來(lái)調(diào)用。
          所用的js就是sybase公司轉(zhuǎn)為datawindow開(kāi)發(fā)的一套js。個(gè)人覺(jué)得非常方便。
          但是他還是有缺點(diǎn)的,就是還是使用傳統(tǒng)的form刷新機(jī)制。

          我沒(méi)有用DWR,主要是java方面的功力不行。
          主要用一套sack的js庫(kù),來(lái)處理ajax。基本原理應(yīng)該是差不多的。

          你的數(shù)據(jù)更新現(xiàn)在只局限于一條一條的更新嗎?如果用戶(hù)修改了一個(gè)listview中的若干數(shù)據(jù),你打算如何來(lái)處理呢,是把所有的數(shù)據(jù)讀回到后臺(tái)去處理嗎?  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-17 17:31 一農(nóng)

          @sun123

          我們現(xiàn)在沒(méi)有涉及到多條數(shù)據(jù)的修改,不過(guò)如果做這種功能的話,實(shí)現(xiàn)方法也和form刷新一樣的,xmlhttprequest提交和form提交,主要就是頁(yè)面是否切換,另外xhr似乎不能上傳文件。
          只不過(guò)如果我們做的話,就要自己想一下,如何做方便了,qooxdoo的ListView還是單薄了些,我們會(huì)再找些其它的ListView(一般其它的都叫Grid)看看。

          sybase公司我總覺(jué)著他不大肆宣傳自己,但他卻推出很多漂亮的工具。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-08-18 09:02 sun123

          to 一農(nóng)
          qx 的ListView 還不能 edit,active_widgets是可以的,他們的風(fēng)格讓我覺(jué)得是同一批人開(kāi)發(fā)的。如果是qx該多好。  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-09-09 16:45 fred

          請(qǐng)教一下,
          使用qooxdoo能作到dhtmlgrid的效果嗎? 是多行數(shù)據(jù)輸入,修改,一次性保存?
            回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-09-10 10:35 一農(nóng)

          @fred

          你是說(shuō) dhtmlXGrid.js ?
          還是其他的?
          qooxdoo0.6有了table,這個(gè)table相當(dāng)于一般講的grid,
          http://qooxdoo.org/demo
          你可以到他的網(wǎng)站去看看,因?yàn)槭菄?guó)外的網(wǎng),所以速度上要慢一些  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-10-12 16:06 stoneboy

          一農(nóng):

           你好!
           
           看了你這個(gè)帖子,受益非淺!但是還是有些疑問(wèn),希望你能幫助我回答:
           
           1、Qooxdoo本質(zhì)上是一組基于JS的WEB UI組件,其本身并不能異步通信,只有結(jié)合DWR才能實(shí)現(xiàn)異步通信,即達(dá)到調(diào)用后臺(tái)數(shù)據(jù)庫(kù)數(shù)據(jù)不刷新頁(yè)面的效果。這個(gè)認(rèn)識(shí)對(duì)嗎?
          2、你提到的json-rpc-java,我沒(méi)接觸過(guò),我想問(wèn)下它能否實(shí)現(xiàn)異步存取數(shù)據(jù)?
          3、最后,想問(wèn)一下,如果我想返回多條數(shù)據(jù)到客戶(hù)端,怎么去接收。數(shù)據(jù)是以值讀象數(shù)組來(lái)組織還是用List返回好呢?
          改下你的例子如下:

          后臺(tái)定義類(lèi)
          public class Foo{
          public void saveObject(com.ynstudio.xxx.User user){....}
          public List getObjects() {...}
          }

          然后在spring里注冊(cè)為id='foo'

          前臺(tái)頁(yè)面的js
          // 我的JS比較爛,不知道寫(xiě)的對(duì)不?
          // 如果用json-rpc-java
          var user = new Bean('com.ynstudio.xxx.User');
          Var userList =json.rpc('foo.getObjects)
          //怎么把 userList數(shù)據(jù)給Qooxdoo的UI組件呢?



          //如果用DWR,JS腳本中又怎么實(shí)現(xiàn)呢?



          請(qǐng)指教,多謝!
            回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-10-12 16:09 stoneboy

          一農(nóng):

          你有MSN或者其他即時(shí)通工具嗎?能留給我嗎?  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-10-12 17:20 stoneboy

          關(guān)于QooXDoo樹(shù)控件的使用

          有兩個(gè)問(wèn)題:
          1、樹(shù)的節(jié)點(diǎn)能把業(yè)務(wù)對(duì)象的ID和Name一起關(guān)聯(lián)起來(lái)嗎? Name用來(lái)顯示,ID用來(lái)為其他查詢(xún)提供依據(jù),比如查該節(jié)點(diǎn)業(yè)務(wù)對(duì)象的詳細(xì)信息或著查它的下級(jí)所有 節(jié)點(diǎn)信息.
          2、如果數(shù)據(jù)量很大,比如上萬(wàn),樹(shù)的效率怎樣?能實(shí)現(xiàn)動(dòng)態(tài)裝載下級(jí)節(jié)點(diǎn)嗎?即每次雙擊某節(jié)點(diǎn)時(shí)再?gòu)暮笈_(tái)取數(shù)然后生成它的下級(jí)節(jié)點(diǎn),不知道一農(nóng)在項(xiàng)目
          中是怎么實(shí)現(xiàn)的,希望能介紹下!
            回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-10-12 18:13 一農(nóng)

          @stoneboy
          1、我認(rèn)為這么理解是對(duì)的
          2、3、你具體使用qooxdoo做些東西就曉的了,我還是推薦了解dwr,因?yàn)槲矣玫膉son-rpc-java是經(jīng)過(guò)我很多改造的,所以這里沒(méi)辦法討論。dwr返回的數(shù)據(jù)也是適用的json的格式。所謂json其實(shí)很簡(jiǎn)單,http://www.json.org/,有點(diǎn)類(lèi)似于Map,就是屬性結(jié)合的表示方法。至于同步,異步,你需要了解一下xhr,本質(zhì)上dwr,json-rpc-java都是基于xhr的,可以參考這個(gè)網(wǎng)站 http://www.xmlhttp.cn/
          4、我的gmail郵箱是ynstudio

          :-),希望能有點(diǎn)幫助

          關(guān)于樹(shù),qooxdoo的效率不高,不過(guò)dojo似乎更低 :-),節(jié)點(diǎn)多的話,當(dāng)然要?jiǎng)討B(tài)裝載了 :-)  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-10-25 13:37 一農(nóng)fan

          啥時(shí)候把把JSON-RPC-JAVA做的改動(dòng)公開(kāi)出來(lái)?說(shuō)的我心神蕩漾!  回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-10-25 13:39 一農(nóng)fan

          請(qǐng)問(wèn)您是如何分包和加載js。
            回復(fù)  更多評(píng)論   

          # re: appfuse+qooxdoo+JSON-RPC-JAVA 2006-10-25 15:17 一農(nóng)

          @一農(nóng)fan
          1、其實(shí)我修改的主要是其中的JSONRPCBridge類(lèi),把根據(jù)className獲取對(duì)象的方法和spring結(jié)合起來(lái)而不是像原來(lái)那樣從session中獲取。我貼出代碼沒(méi)有任何意義,因?yàn)檫@個(gè)修改很細(xì)微,只要你了解了json-rpc-java的JSONRPCBridge邏輯,自然而然就明白了。我就不想獻(xiàn)丑了,如果今后我把代碼優(yōu)化一下,自己能滿(mǎn)意一點(diǎn),或許我會(huì)貼出來(lái),提高一下自己的抗擊打能力。
          2、你讀一下dojo的代碼就明白了,比我做的方式對(duì)你更有益處。

          高手開(kāi)源的東西太多了,你有空余時(shí)間的話,可以花時(shí)間看看,我這個(gè)業(yè)余選手的東西實(shí)在是污染視聽(tīng),我做這個(gè)blog的目的是為了看看是否有公司需要類(lèi)似的技術(shù),招我做做兼職 :-)。
          最近在找工作,被筆試,面試,烤的焦頭爛額,我本科不是學(xué)計(jì)算機(jī)的,現(xiàn)在是讀電子研,所以數(shù)據(jù)結(jié)構(gòu)等抱抱佛腳學(xué)的一點(diǎn)東西,去考試真的滿(mǎn)痛苦。如果你是在校生,或想到一些大公司,不要花太多的時(shí)間去學(xué)這類(lèi)技術(shù),把數(shù)據(jù)結(jié)構(gòu),離散數(shù)學(xué)多學(xué)學(xué),多練練。  回復(fù)  更多評(píng)論   


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


          網(wǎng)站導(dǎo)航:
           

          公告

          南京 java輔導(dǎo)班 約等于免費(fèi) 詳見(jiàn)yuqiaotech.com

          導(dǎo)航

          <2006年10月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          統(tǒng)計(jì)

          常用鏈接

          留言簿(10)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          相冊(cè)

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 彰化县| 上犹县| 翁牛特旗| 贺州市| 历史| 赤峰市| 阿巴嘎旗| 台安县| 佛学| 鹤山市| 阳东县| 惠安县| 普兰店市| 贺兰县| 揭西县| 和顺县| 昌都县| 宁津县| 紫云| 滨海县| 保山市| 扬中市| 靖西县| 体育| 岳阳县| 且末县| 玉田县| 常熟市| 宣恩县| 丹棱县| 织金县| 秦安县| 庆阳市| 高阳县| 南宫市| 沙雅县| 桂平市| 福州市| 榆社县| 韩城市| 汝州市|