五月天山雪

          五月天山雪,無(wú)花只有寒。笛中聞?wù)哿荷丛础詰?zhàn)隨金鼓,宵眠抱玉鞍。愿將腰下劍,直為斬樓蘭。 ——李白《塞下曲》
          posts - 8, comments - 53, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          對(duì)于 WebWork Ajax 支持的失望

          Posted on 2005-11-21 16:46 dlee 閱讀(6250) 評(píng)論(10)  編輯  收藏 所屬分類: 軟件工藝
          看完了 WebWork 支持 Ajax 的 presentation
          (http://wiki.opensymphony.com/download/attachments/2179/AJAX.ppt),感覺相當(dāng)?shù)氖?br> WebWork 對(duì)于 Ajax 的支持主要是通過引入新的 tag 來(lái)實(shí)現(xiàn)的。但是根據(jù)目前的文檔看來(lái),這幾個(gè) tag 的能力還相當(dāng)有限。這些 tag 能做幾件事情:
          1、動(dòng)態(tài)刷新頁(yè)面中的某一部分。這一部分封裝在一個(gè) div 中,通過輪循方式或者事件觸發(fā)的方式來(lái)改變其內(nèi)容。理論上可以在 div 內(nèi)放入任何內(nèi)容。
          2、通過一個(gè) a 超鏈接或 submit 按鈕來(lái)執(zhí)行一段 JavaScript,并且可以觸發(fā)一個(gè)事件。事件模型是由 DOJO 庫(kù)來(lái)定義的。
          3、可以生成 tabbed pane,使用 tab 切換不同的內(nèi)容,也可以在切換的同時(shí)觸發(fā)一個(gè)事件。
          4、還有一個(gè) tree 控件,同樣使用 WebWork 新增的 tag 來(lái)生成和配置。

          目前看來(lái)基本上只能做這幾件事情。如果要做更復(fù)雜的事情,只能自己編寫 JS 代碼調(diào)用 DOJO 或者第三方庫(kù)的功能。這幾件事情都是相當(dāng)容易的 Ajax 技巧,沒有一件是必須要使用 tag 這樣丑陋的方式來(lái)實(shí)現(xiàn)的。我們來(lái)看看 WebWork 作者的一段實(shí)例代碼:
          <#list categories as cat>
            <#if cat.children.size > 0>
              <#assign icon="plus"/>
            <#else>
              <#assign icon="square"/>
            </#if>
            <@ww.a notifyTopics="children_${cat.id}"
                   href="toggle.action?id=${cat.id}">
              <img src="${icon}.gif"/>
            </@ww.a>
            [EXAMPLE CONTINUED]
          </#list>
          這是 WebWork 支持的一個(gè) tree 控件的一部分代碼。
          在我看來(lái)這段代碼實(shí)在是難看的要死。本來(lái)我要把頁(yè)面中的邏輯,就是 behaviour 分離到獨(dú)立的 js 文件中的,現(xiàn)在又多了這么一堆服務(wù)器端的邏輯!我就是很討厭在 html 里面嵌入一大堆邏輯,無(wú)論是服務(wù)器端執(zhí)行的還是瀏覽器端執(zhí)行的。html 里面應(yīng)該只有 structure!

          WebWork 使用的 Dojo 庫(kù)目前還缺少很重要的一塊——對(duì)于 DataGrid 的支持。DataGrid 是 B/S 架構(gòu)企業(yè)應(yīng)用表示層的核心組件,也差不多是開發(fā)量最大的組件。沒有對(duì)于 DataGrid 的支持,怎么看都像是個(gè)玩具。目前已經(jīng)有開源的 ActiveGrid(http://www.activegrid.com)可以做這件事情,如果熟悉 JavaScript 的話可以直接調(diào)用。
          還有一個(gè)問題,WebWork 的 tag 生成的代碼中含有大量的 table,如果想用 CSS 做布局,看來(lái)是不太可能了。
          怎么樣?看上去很美,Java 程序員不需要學(xué)習(xí)任何 JavaScript,全部使用 tag 就可以達(dá)到 Ajax 的效果。問題就是這個(gè)目標(biāo)是否真的現(xiàn)實(shí)。況且,還有大量根本就不喜歡使用 tag 的 Java 程序員呢?

          評(píng)論

          # re: 對(duì)于WebWork Ajax支持的失望  回復(fù)  更多評(píng)論   

          2005-11-21 16:56 by calvin
          熱烈恭喜dlee開blog:)

          # re: 對(duì)于WebWork Ajax支持的失望  回復(fù)  更多評(píng)論   

          2005-11-21 17:01 by scud(飛云小俠)
          你是javaeye的那個(gè)dlee吧 嘿嘿

          webwork的tag也可以用css裝飾啊,例如template里面的css_xhtml 系列

          你也可以自己寫一套

          當(dāng)然ajax還是剛剛起步

          # re: 對(duì)于 WebWork Ajax 支持的失望  回復(fù)  更多評(píng)論   

          2005-11-22 09:13 by Michael Chen
          深有同感。不過我的觀點(diǎn)在美感方面。前些日子scud在BJUG的聚會(huì)上做了一個(gè)關(guān)于Webwork2.2的topic,其中談到webwork的ajax的支持。在我看來(lái),那些remoteDiv, a, form的ajax標(biāo)簽,使用起來(lái)實(shí)在是丑陋不堪。當(dāng)時(shí)跟冰云說(shuō),webwork現(xiàn)在的team leader一定不是 Richard Oberg了,否則他怎么能容忍這么丑陋的設(shè)計(jì)呢

          # re: 對(duì)于 WebWork Ajax 支持的失望  回復(fù)  更多評(píng)論   

          2005-12-02 13:07 by darren
          試用了一段時(shí)間,確實(shí)是這種體會(huì)。
          比如webwork有個(gè)tabbedpane tag,就是這種非常丑陋,服務(wù)器端生成js。
          dojo自己帶的那個(gè)tabbedpane,看起來(lái)和用起來(lái)就舒服多了。

          # re: 對(duì)于 WebWork Ajax 支持的失望  回復(fù)  更多評(píng)論   

          2006-04-20 15:57 by AJAX愛好者
          我剛接觸AJAX不久,推薦個(gè)自己才使用不久的WebShop開發(fā)工具,自己感覺還不錯(cuò),用起來(lái)方便,拖拖拉拉就好了,呵呵,希望和大家一起交流

          # re: 對(duì)于 WebWork Ajax 支持的失望  回復(fù)  更多評(píng)論   

          2006-12-19 18:01 by 老湯
          兄弟,做人要厚道:

          1.人家愿意把自己做的東西拿出來(lái)分享這種精神你能做到嗎?
          2.如果能,你做得東西有人家好嗎?
          3.就算能,有人這種態(tài)度批評(píng)你的東西,你能忍受了?

          不同意見可以提,但不是一味的批評(píng)和指責(zé),給點(diǎn)你的高見,那才是交流,才是對(duì)人對(duì)己都有意;而不是“丑陋”這種措辭,那是對(duì)人的鄙視,你鄙視人家,還關(guān)注人家做得東西干嗎呢?

          做人要厚道嘛!

          # re: 對(duì)于 WebWork Ajax 支持的失望  回復(fù)  更多評(píng)論   

          2007-05-23 17:07 by 742
          做人要厚道

          你可以不用他這部份的功能,完全可以用別的ajax框架加入!

          # re: 對(duì)于 WebWork Ajax 支持的失望  回復(fù)  更多評(píng)論   

          2007-06-28 16:29 by Custer
          ...路過

          # re: 對(duì)于 WebWork Ajax 支持的失望  回復(fù)  更多評(píng)論   

          2007-12-29 14:36 by 三平
          的確,做人要厚道.

          # re: 對(duì)于 WebWork Ajax 支持的失望  回復(fù)  更多評(píng)論   

          2008-02-11 17:12 by 小小陳
          前一陣子 用了ajax 感覺上 有些地方 用它確實(shí)不錯(cuò) 但是我總覺得用ajax那個(gè)頁(yè)面里面的 js呀 多的可怕

          而且 ajax 前到后 后到前 都需要進(jìn)行xml的轉(zhuǎn)換 我真的不知道 這樣做真的是不是就好! 總覺得當(dāng)數(shù)據(jù)量很大的時(shí)候 對(duì)數(shù)據(jù)的xml打包和解析 難道不也是要消耗很多的資源嗎?

          所以 ajax我保持繼續(xù)觀望的態(tài)度!!!

          說(shuō)一句 ,我是一個(gè)不喜歡用tag的 哈哈哈!

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 泽州县| 东安县| 全椒县| 永年县| 邢台市| 福鼎市| 石门县| 佛学| 临海市| 沙洋县| 香河县| 常山县| 龙胜| 石阡县| 舞钢市| 大安市| 元氏县| 嘉禾县| 杭州市| 弥勒县| 连云港市| 天等县| 涞水县| 东至县| 什邡市| 长宁区| 博爱县| 北碚区| 双江| 包头市| 松溪县| 汉川市| 开平市| 天等县| 钟祥市| 顺昌县| 辛集市| 温泉县| 宜兰市| 梁河县| 宜丰县|