無語了...
唉
事情是這樣的,在接觸Grails之前,便已經(jīng)接觸過Rails,或許是因?yàn)镴ava的原因吧,特別的偏愛Grails.因此也把Rails暫時(shí)放了下來,專心的看Grails.從27號拿到<<Grails權(quán)威指南>>之后,到今天,已經(jīng)將Ajax之前的內(nèi)容全看完了,而且自我感覺接受的很快.因?yàn)榭吹谋容^快,雖然內(nèi)容都理解了,但是在用的時(shí)候還是會忘,還需要查書.但我想經(jīng)過一段時(shí)間的熟悉之后,應(yīng)該就可以熟練了.光看不動手是不行的.于是自己寫了點(diǎn)小東西.但在這個(gè)過程中發(fā)現(xiàn)了一些問題,嗯.可以接受的小問題:
1.URL Mapping:這個(gè)應(yīng)該是我了解的不多,在書上基本沒有講到,至少在前八章是沒有講到過,只有在Controller中提到了一嘴.官方寫的也不是很詳細(xì),所以沒有配置成我想要的格式.這個(gè)是因?yàn)槲夜αΦ膯栴}.
2.分頁:Grails的分頁實(shí)現(xiàn)的太簡陋了,與Rails相比.或許是因?yàn)橹敖佑|過Rails的原因,看Grails的時(shí)候,總是拿著Grails與Rails相比.在使用分頁標(biāo)簽之前,需要使用<g:paginate total="" />設(shè)置一下記錄總數(shù)...不明白為什么要這么做,為什么不把這個(gè)也一塊集成到框架里,還要自己來設(shè)置?
3.GORM:相比Rails來說,GORM的寫法,真的很無語,實(shí)在是太難看了,或許習(xí)慣了之后就會感覺良好?
4.測試功能:還有待加強(qiáng),至少像Rails里的Test Fixtures這樣的功能應(yīng)該有吧,但愿以后的版本會加上
5.標(biāo)簽:說實(shí)話,在JSP的時(shí)候,我就很討厭標(biāo)簽的使用,不過沒辦法,總比使用Scriptlets要好些.GSP里的標(biāo)簽,還算可以吧,自定義標(biāo)簽也是挺好用的.
下面這幾點(diǎn),讓我郁悶到崩潰,我不知道是因?yàn)槲业沫h(huán)境的問題,還是當(dāng)前版本的問題,我的環(huán)境是WinXP+Grails-1.0-RC1+Groovy-1.1-rc-2,
1.在使用generate-xxx之前,使用要選創(chuàng)建Domain,要是generate-controller和generate-views這兩個(gè),我也就忍了,可是generate-all為什么也要先創(chuàng)建Domain呢?就不能一起創(chuàng)建?(現(xiàn)在想想,有些理解了,畢竟Rails里以數(shù)據(jù)庫為基礎(chǔ),而Grails里則是以Domain為基礎(chǔ).所以這個(gè)Pass掉.呵)
2.啟動服務(wù)器之后,經(jīng)常莫名其妙的就Down掉了,也沒有異常信息,在做一點(diǎn)點(diǎn)改動之后,控制臺上到:Initializing Spring root WebApplicationContext這一行之后,就不動了,這時(shí)訪問頁面,都是500錯(cuò)誤,無法顯示網(wǎng)頁
3.不是說修改了類之后無須重新加載么?為什么我做小小的改動,再訪問頁面,就會報(bào)一堆的異常,從而導(dǎo)致頁面無法訪問.有時(shí)只是在flash.message = "xxxxx"內(nèi)容里的信息,加了幾個(gè)字,也會這樣,每改一下都得重新啟動?會死人的......
4.如果create-controller之后,啟動了服務(wù)器,這時(shí)在Controller中加上def scaffold = true這樣的,想使用動態(tài)腳手架時(shí),唉,又是一堆的異常.重啟服務(wù)器才行.
這動不動就得重啟服務(wù)器,實(shí)在讓我受不了,我想應(yīng)該是我的環(huán)境的問題,哪位高人,來幫我分析一下,看看是哪里出了問題?