走在組件化的路上(七)——JSF的優(yōu)勢(shì)之使用View作用域的Action
摘要: 在以往的應(yīng)用開發(fā)過程中,后端的業(yè)務(wù)組件(Action/Service/Dao),可以被設(shè)置為幾種作用域:request、session、application。我們不可能把與每次請(qǐng)求關(guān)系很強(qiáng)的一些信息(例如某個(gè)列表頁面要列出來的數(shù)據(jù)集合)簡(jiǎn)單的放到session里面去,這就導(dǎo)致了每次請(qǐng)求之間的大部分?jǐn)?shù)據(jù)是不可能共享的。使用JSF,我們實(shí)現(xiàn)了一種叫做view的作用域,在不同的請(qǐng)求之間共享信息。
閱讀全文
走在組件化的路上(六)——JSF的優(yōu)勢(shì)之自定義組件與模塊化
摘要: JSF的很多文檔上面說,要建立一個(gè)自定義組件,需要定義繼承自UIComponentBase之類的類,然后寫decode/encode方法等等,一大套內(nèi)容,很復(fù)雜。幸好我們有其他的辦法。其實(shí)定義一個(gè)組件在大多數(shù)情況下是不用去寫這樣的代碼的。本節(jié)的內(nèi)容是一個(gè)選擇true/false兩個(gè)值得下拉框組件。定義一個(gè)這樣的組件需要做如下工作:
閱讀全文
走在組件化的路上(五)——JSF的優(yōu)勢(shì)之從url到頁面r
摘要: 我看到的若干mvc框架在展現(xiàn)一個(gè)包含動(dòng)態(tài)數(shù)據(jù)內(nèi)容的頁面的時(shí)候,都是這樣做的:請(qǐng)求/xx.do,到達(dá)某個(gè)action,執(zhí)行配置好或者根據(jù)url映射到的某個(gè)方法,初始化數(shù)據(jù),放到某個(gè)context里面(例如Request,或者struts用的ognl的context),然后根據(jù)配置或者規(guī)則,forward到某頁面,然后展現(xiàn)。
這樣做的好處是強(qiáng)制性的分離了展現(xiàn)和邏輯,缺點(diǎn)是多了若干配置,不自然。
JSF的路子和asp/php是一樣的,你請(qǐng)求/a.xhtml,那么,ok,加載/a.xhtml文件。例如a.xhtml主體內(nèi)容如下:
閱讀全文
走在組件化的路上(四)——JSF的優(yōu)勢(shì)之了解前端狀態(tài)
摘要: 先補(bǔ)充一下上一篇留下的尾巴:最早看JSF的書的時(shí)候,使用jsp作為頁面,#{xx}這樣的標(biāo)記不能直接寫在頁面里,必須套在一個(gè)標(biāo)記里面(和struts2里面的ognl一樣郁悶)。后來才知道,這是jsp的問題,不是JSF的問題。現(xiàn)在大家都是用facelets作JSF的展現(xiàn),JSF2.0更是把這個(gè)標(biāo)準(zhǔn)化為首選。于是直接在頁面上寫#{someAction.doSth('Hello')},完全OK,頁面加載的時(shí)候會(huì)觸發(fā)調(diào)用該方法。
然后我們?cè)賮砜春蠖酥狼岸擞惺裁吹睦樱?nbsp;
閱讀全文
走在組件化的路上(三)——JSF的優(yōu)勢(shì)之忘記http
摘要: 現(xiàn)在開始說JSF的優(yōu)勢(shì)。一個(gè)一個(gè)的說,最后整理的時(shí)候再分主次吧,現(xiàn)在先就針對(duì)上面的幾個(gè)問題來說。
1.URL到action method
閱讀全文
走在組件化的路上(二)——JSF能夠解決什么問題
摘要: 首先,看看在使用struts等框架做開發(fā)的時(shí)候,遇到的一些問題.
閱讀全文
走在組件化的路上(一)——緣起
摘要: 09年4月我從A公司離職,被同事拉到一個(gè)創(chuàng)業(yè)團(tuán)隊(duì)做網(wǎng)頁游戲,他們當(dāng)時(shí)使用的技術(shù)體系是基于Seam的。而我則是SSH的忠實(shí)用戶,此前一直跟隨江南白衣、appfuse的路線,大大小小也做了一些項(xiàng)目,也自己攢了一堆輪子。花了1年多的時(shí)間在一個(gè)基于元數(shù)據(jù)的基礎(chǔ)框架上面,那時(shí)候我基本上掌握了maven的簡(jiǎn)單使用,于是自己做的一些基礎(chǔ)性的東西也都是使用maven來做依賴管理、版本發(fā)布。
閱讀全文