<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    appfuse+qooxdoo+JSON-RPC-JAVA

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

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

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


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

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

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

    評論

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

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

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

    我需要對DWR來做一些改動(dòng)來適應(yīng)我自己的需要,但在我看懂DWR之前我看懂了JSON-RPC-JAVA(幾眼就看懂了),而且能滿足我的需要所以我就改造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)目中抽取出來之后我會(huì)將代碼公開出來。  回復(fù)  更多評論   

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

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

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

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

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

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

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

    頂  回復(fù)  更多評論   

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

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

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

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

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

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

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

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

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

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

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

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

    # 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在后臺發(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ù)  更多評論   

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

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

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

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

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

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

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

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

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

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

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

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

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

    @福星高照

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    @福星高照

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

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

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

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

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

    # 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)子菜單以后,再回到主菜單,展開的子菜單應(yīng)該消失才對,但實(shí)際上,如果快速的移動(dòng),子菜單是不會(huì)消失的,這就是mouseout的問題所在。
    如果在debug模式下,可以看得見,mouseout有時(shí)候的parent是menulayout,有時(shí)候是clientdocment,所以用mouseout就有這個(gè)問題  回復(fù)  更多評論   

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

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

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

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

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

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

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

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

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

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

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

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

    # 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)開發(fā)的。  回復(fù)  更多評論   

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

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

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

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

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

    # 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();//如果菜單可見,同時(shí)鼠標(biāo)位置在getClientDocument上,說明鼠標(biāo)已經(jīng)移開了菜單,所以啟動(dòng)timer
    //如果d上面還放置了其他的對象,一起加上,防止移到該對象時(shí)鼠標(biāo)不消失

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

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

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

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

    @福星高照

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

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

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

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

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

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

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

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

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

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

    @asan
    :-)
    正如sun123所說。

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

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

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

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

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

    @sun123

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

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

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

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

    @sun123

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

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

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

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

    # 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)在我都是自己手工在寫js進(jìn)行校驗(yàn)。但正在籌備給QxListView提供一些輔助功能,來達(dá)到校驗(yàn)的目的,同時(shí)附加增刪改的通用代碼,我們還在開發(fā)一個(gè)數(shù)據(jù)庫管理工具,然后在此基礎(chǔ)上,實(shí)現(xiàn)類似ROR的一些機(jī)制,如自動(dòng)先生成一套基本的數(shù)據(jù)庫管理的代碼,然后項(xiàng)目在這些基礎(chǔ)代碼上,進(jìn)行開發(fā)。

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

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

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

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

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

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

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

    @sun123

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

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

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

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

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

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

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

    @fred

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

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

    一農(nóng):

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

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

    然后在spring里注冊為id='foo'

    前臺頁面的js
    // 我的JS比較爛,不知道寫的對不?
    // 如果用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)呢?



    請指教,多謝!
      回復(fù)  更多評論   

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

    一農(nóng):

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

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

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

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

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

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

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

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

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

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

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

    請問您是如何分包和加載js。
      回復(fù)  更多評論   

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

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

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


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


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

    公告

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

    導(dǎo)航

    <2006年7月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    統(tǒng)計(jì)

    常用鏈接

    留言簿(10)

    隨筆檔案

    文章分類

    文章檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 毛片在线全部免费观看| 亚洲成年人啊啊aa在线观看| 久久精品无码专区免费| 亚洲色欲啪啪久久WWW综合网| 久久国产精品亚洲一区二区| heyzo亚洲精品日韩| 成人在线免费观看| 91九色视频无限观看免费| 两个人看的www免费高清 | 国内精品一级毛片免费看| 美女被羞羞网站免费下载| 国产午夜亚洲精品| 亚洲国产激情在线一区| 亚洲欧洲自拍拍偷午夜色| 亚洲AV无码国产精品色午友在线 | 牛牛在线精品免费视频观看| 亚洲aⅴ无码专区在线观看| 亚洲男人天堂2022| 亚洲av成人一区二区三区| 久久精品国产精品亚洲毛片| 亚洲第一福利网站| 亚洲成av人片天堂网| 亚洲精品国产精品乱码不99| 黑人大战亚洲人精品一区 | 亚洲精品国产日韩无码AV永久免费网| 亚洲αⅴ无码乱码在线观看性色| 国产成人精品日本亚洲直接 | 67pao强力打造高清免费| 日韩精品亚洲人成在线观看| 亚洲精品V欧洲精品V日韩精品| 久久精品夜色噜噜亚洲A∨| 99re这里有免费视频精品| 男人的天堂网免费网站| 在线观看免费无码专区| 男人天堂免费视频| 免费国产叼嘿视频大全网站| 七色永久性tv网站免费看| 久久国产免费观看精品3| 99热这里只有精品6免费| 亚洲一区二区三区免费观看| 1000部拍拍拍18免费网站|