Let life be beautiful like summer flowers and death like autumn leaves.
使用Velocity無(wú)非也就是為了能夠真正的實(shí)現(xiàn)mvc分層,使得各個(gè)團(tuán)隊(duì)成員(美工,程序員)可以各盡所長(zhǎng)。
在appfuse構(gòu)建的項(xiàng)目中集成velocity的步驟和碰到的問題 :
1:修改web.xml使得項(xiàng)目支持velocity
(1)定義名為velocity的servlet:
---以上三步其實(shí)就是普通java web項(xiàng)目集成velocity的必須要做的工作了。 ---下面是使用appfuse中的appgen生成velocity代碼的要做的工作,這里只做了從table出發(fā)的生成過程。
4:在項(xiàng)目中extras/appgen/src中創(chuàng)建模板,這里假設(shè)創(chuàng)建的兩個(gè)文件是List_vm.xdt和Form_vm.xdt 模板的具體內(nèi)容就要結(jié)合xdoclet,velocity和html來(lái)編寫,不是一個(gè)簡(jiǎn)單的工作!
5:編輯extras/appgen下的build.xml文件,使得在使用ant install-detailed的時(shí)候能生成數(shù)據(jù)表對(duì)應(yīng)的vm文件.
(1):在名為gen的target中添加template,原文件有以下的代碼:
這里,templateFile里指定模板文件,destinationFile指定生成的臨時(shí)文件。
(2):在名字同樣為gen的target中添加move任務(wù),原文件中有以下代碼:
這樣生成的臨時(shí)文件就會(huì)被重命名(有點(diǎn)懷疑這樣做的必要性,暫且先這樣做吧)。
(3):在名為merge-common的target中添加copy任務(wù),原文件中有如下代碼
這樣在使用ant install-detailed命令時(shí)就會(huì)把生成的文件復(fù)制到項(xiàng)目的web/vms文件夾下了。
7:修改項(xiàng)目的根目錄下的build.xml:
(1)修改名為copy-web-files的target,使得運(yùn)行ant deploy時(shí)可以將vm文件復(fù)制到部署項(xiàng)目的WEB-INFO文件夾下(放在WEB-INF下是為了防止直接訪問 )。 參考的源代碼:
另外,如果不再使用jsp做為view層可以把匹配jsp的fileset節(jié)點(diǎn)去掉,這樣就不會(huì)復(fù)制多余的文件到部署的項(xiàng)目中了。
(2)同名的target 中修改另外一個(gè)copy任務(wù)(順數(shù)第二個(gè)),源代碼:
posted on 2008-06-07 09:54 Alexwan 閱讀(529) 評(píng)論(0) 編輯 收藏
Powered by: BlogJava Copyright © Alexwan