最近在做Web應(yīng)用,項目去求,引入了DWR
對這個決定我一開始有些“不是太喜歡”,感覺DWR相對于jQuery來說,顯得太笨重
因為之前我得理解是,DWR、Dojo、JQuery都是Ajax框架,只是他們的實現(xiàn)不同而已
可能自己也有點“偏愛”JQuery
(確實十分簡潔,而且對于精致、細膩的頁面來說,沒有一點破壞性?。?/p>
可是,真正沉下心來,使用的時候,發(fā)現(xiàn)
DWR很好,很強大!而且更重要的是,DWR不僅僅是Ajax
為什么呢?
DWR是服務(wù)器端的js框架(很多人都是這樣說的,而且是DWR的第一印象)
個人覺得這樣的描述不是很吸引人
如果改成:
“DWR可以讓你在HTML頁面中以聯(lián)合數(shù)組的形式得到任何Java對象”
直接拿到對象!
這樣比XML、比JSON方便多少呢?
這樣的結(jié)果是,在HTML頁面中,你也可以用對象導航的方式取得你想要的值
在HTML中寫js就像在后臺寫Java一樣有快感...
這就是我使用DWR的最深刻的體會
比如你構(gòu)造個dto的User對象,再開放一個方法給DWR
(假如方法為: User getUser(int id);)
那么你在HTML中的js就可以直接使用:(假如這個方法在js中的調(diào)用名為:TestDWR)
var user = TestDWR.getUser(2);
那么:
user.username;
user.password;
user.power;(如果power是引用類型的話)
user.power.id;
...
非常方便的開發(fā)方式!
現(xiàn)在,瘦客戶端和胖客戶端都各有優(yōu)勢,使用DWR做一些,驗證,賦值,頁面整合,減輕服務(wù)器的負荷
我覺得是一個很好的選擇。
(對于 反Ajax,因為我沒有什么需求,所以也沒有怎么用)