Thinking in sky

          --老賀的BLOG

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            21 隨筆 :: 0 文章 :: 35 評論 :: 0 Trackbacks
          人生像個舞臺,請良家少女離開。
              同樣的,F(xiàn)reemarker和Velocity愛好者請?zhí)^本篇。與棄用webwork而單用Spring MVC Controller接口的理由一樣,Freemarker本來是一樣好東西,還跨界支持jsp 的taglib,而且得到了WebWork的全力支持,但為了它的非標(biāo)準(zhǔn)化,用戶數(shù)量與IDE的缺乏,在View層我們還是使用了保守但人人會用,IDE友好的JSP2.0 配合JSTL。

             
          對于B/S結(jié)構(gòu)的企業(yè)應(yīng)用軟件來說,基本的頁面不外兩種,一種是填Form的,一種是DataGrid 數(shù)據(jù)列表管理的,再配合一些css, js, ajax的效果,就是View層要關(guān)注的東西了。

          1. JSP 2.0的EL代替<c:out>
          JSP2.0可以直接把EL寫在html部分,而不必動用<c:out>節(jié)點后,老實說,JSP2.0+JSTL達到的頁面效果,已不比Velocity相差多少了。

           

          <p>{goods.name}</p> 
          代替
          <p><c:out value="{goods.name}"/></p>

          (除了EL里面不能調(diào)用goods的函數(shù),sun那幫老頑固始終堅持JSTL只能用于數(shù)據(jù)顯示,不能進行數(shù)據(jù)操作,所以不能調(diào)用bean的get/set外的方法)

           2. 最懶的form 數(shù)據(jù)綁定

              Spring少得可憐的幾個tag基本上是雞肋,完全可以不要。 而Spring開發(fā)中的那些Simple Form tag又還沒有發(fā)布。Spring的Tag主要用來把VO的值綁到input框上。但是,和Struts一樣,需要逐個Input框綁定,而且語法極度冗長,遇到select框還要自己進行處理.....典型的Spring Sample頁面讓人一陣頭暈.

              而jodd的form tag給了我們懶人一個懶得多的方法,只要在<form>兩頭用<jodd:form bean="myVO"></jodd:form>包住,里面的所有input框,select框,checkBox...統(tǒng)統(tǒng)自動被綁定了,這么簡單的事情,真不明白struts,spring為什么不用,為了不必要的靈活性么?

           

          <form>
          <jodd:form bean="human">
          <input type="text" name="name">
          <input type="radiobox" name="sex" value="man">
          <select name="age">
            
          <option value="20">20</option>
            
          <option value="30">30</option>
          </select>
          </jodd:form>
          </form> 


           

          不過,jodd有個致命弱點是不能綁定內(nèi)嵌對象的值。比如Order(訂單)對象里有個Customer(顧客)對象,jodd就不能像 struts,spring一樣用如下語法綁定:

           

          <input name="customer.customerNo">

          這是因為它的beanUtils比Jakata Common弱,用了一個錯誤的思路的緣故。 動用beanUtils修改一下就可以了,修改后的源碼可以在這里下載。

          3. DataGrid數(shù)據(jù)列表

          DisplayTag和ValueList都屬于這種形式的Tag Library。但最近出現(xiàn)的Extreme Table是真正的killer,他本身功能強大不說,而且從一開始就想著如何讓別人進行擴展重載,比如Extend Attributes機制就是DisplayTag這樣的讓千人一面者不會預(yù)留。


          4.css, javascript, ajax
          天下紛擾,沒有什么特別想講想推薦的,愛誰誰吧。Buffalo, DWR, Scriptaculous, Prototype, AjaxTags, AjaxAnywhere, Rico, Dojo, JSON-RPC,看著名字就頭痛。 

          posted on 2007-08-24 10:50 老賀 閱讀(678) 評論(2)  編輯  收藏 所屬分類: J2EE框架

          評論

          # re: 簡化Spring(4)--View層 2007-09-19 17:45 ちょうえい
          いいの本文  回復(fù)  更多評論
            

          # re: 簡化Spring(4)--View層 2007-09-19 17:46 ちょうえい

          hhttp://zyaihcy.blogbus.com/返信  回復(fù)  更多評論
            

          主站蜘蛛池模板: 富民县| 邵阳县| 剑川县| 石林| 资溪县| 怀来县| 饶阳县| 富锦市| 无锡市| 缙云县| 永新县| 库伦旗| 平遥县| 兴隆县| 永善县| 桦甸市| 特克斯县| 晴隆县| 德兴市| 玉门市| 将乐县| 泾川县| 勃利县| 太康县| 绥阳县| 板桥市| 武强县| 阜新市| 望江县| 西充县| 托克逊县| 肇州县| 红安县| 济源市| 双峰县| 乐昌市| 平潭县| 宿松县| 丰原市| 元阳县| 湘潭市|