Velocity for javascript
做過(guò)Ajax應(yīng)用的人都知道,在js端將后臺(tái)的數(shù)據(jù)進(jìn)行展示其實(shí)是一件挺麻煩的事,盡管操作dom不算太麻煩,但要和寫(xiě)一段html相比來(lái)說(shuō)就顯得太麻煩,而且難以維護(hù)了,所以我目前在做實(shí)現(xiàn)的時(shí)候不得已的采用在后臺(tái)通過(guò)java+velocity模板的方式來(lái)生成html,再返回前端js,由其負(fù)責(zé)將html放入相應(yīng)的container進(jìn)行顯示,在目前來(lái)看這種做法還算過(guò)得去,不過(guò)其實(shí)一種比較期盼的都是能有一個(gè)velocity for javascript版,這樣我就可以直接把數(shù)據(jù)模型返回給js,在js端結(jié)合velocity模板直接渲染生成最后的顯示效果了,那就比較爽了,^_^
不過(guò)目前開(kāi)源界好像沒(méi)這樣的東西呢,前幾天在javaeye上看到有人推薦這個(gè)東西(http://trimpath.com/project/wiki/JavaScriptTemplateSyntax),很不錯(cuò),是個(gè)javascript template的支持的東西,^_^,它支持的就是類(lèi)似velocity的方式,不過(guò)它不能支持引入外部文件的方式,也就是說(shuō)和我所期待的velocity for js還是不太一樣的,不過(guò)有了這東西的話我想要實(shí)現(xiàn)一個(gè)velocity for js也不是什么太難的事,呵呵,想像的方案,^_^:
1、后臺(tái)請(qǐng)求在返回時(shí)返回?cái)?shù)據(jù)以及模板文件;
2、結(jié)合javascriptTemplateSyntax,將數(shù)據(jù)與模板文件進(jìn)行合并,渲染生成html;
或者另外的方案是先返回?cái)?shù)據(jù),然后根據(jù)數(shù)據(jù)的情況來(lái)決定需要采用什么樣的模板文件,之后通過(guò)xmlhttp發(fā)起同步請(qǐng)求,從服務(wù)器獲取模板文件,覺(jué)得這個(gè)方案容易造成發(fā)起多次請(qǐng)求,有些浪費(fèi)網(wǎng)絡(luò)資源,不過(guò)也會(huì)有它的適用場(chǎng)景...
^_^,一個(gè)簡(jiǎn)單的思路就是這樣,當(dāng)然,需要提供些更為強(qiáng)大的功能...
posted on 2006-04-10 22:19 BlueDavy 閱讀(3981) 評(píng)論(2) 編輯 收藏 所屬分類(lèi): Javascript