這個案子相對以前其他的案子,規模小上一截,所以很大膽地使用了Struts2到案子裡來,隨著開發逐漸看到當初在寫Demo沒想到的問題,而且將舊時常用的JavaScript Library從Prototype改成jQuery,大量使用Ajax來處理Data與Form Submition,而這些也改變了不少舊有Demo的Operation Pattern,中間也就累積了不少新筆記,等再空一些整理一下,有不少是蠻有趣的值得一看的東西,就數量來說的確是不少,應該可以當本小書了。
先舉個例來說,以往的分頁查詢(pagination search)模式在Action除了宣告一個domain object做為 search example來記錄使用者在Search Form輸入的條件,還會直接宣告一個int pageNo = 1;這樣每次在Search顯示Result時,可以直接將使用者輸出的舊有條件顯示出來,並將pageNo直接改為1,這樣再按下查詢钮時就直接以使用者輸入條件查詢並顯示結果中的第一頁,但改用Ajax來處理Form Submition,查詢用的Form跟pageNo根本不會也不需要被更新(我是在按下pagination 的頁碼再按form的search button才發現pageNo沒更新帶來的問題...算笨到),所以處理模式會有些小小的差異,諸如此類的東西不少,看起來重要性不高,但這些帶出來我對於Action Layer有新的想法,能少幾行Code就少幾行,嗯...整理整理。
這個案子真的一行"SQL"都沒寫,算是Hibernate完全利用吧(人懶就承認好了...),希望還有這樣的小案子,可以慢慢地實驗我的新想法。Spring 3應該不遠了,Maven 2.1跟之前2.0.x也有著不少差異...哪裡找案子來當實驗品呢?
沒有留言:
張貼留言