自己也原創一下
項目做了一段時間了,該做的都做了,可以休整幾天了。利用這幾天,看了看自己做的項目,發現一個問題,從頭到尾都沒有用 actionForm。呵呵。
原因了也是因為以前一個從網上查到的讓大家都很頭疼的經典的問題,就是struts 的 actionForm 執行 validate 返回原來頁面后原來的值無法保存的問題。今天寫了個測試試了一下,發現 struts 并沒有變什么魔術。一切都是這么容易,這個問題根本不是 struts 的問題了。
關鍵的地方在于, 頁面提交后 struts 會將表單的值填進 actionForm,然后執行 validate 方法,不通過就返回源頁面。 這時 表單對象是存放在 request 對象里的,與我們平時用的 request.setAttribute("xx")沒有任何區別,返回原頁面后這個對象當然還在 ,所以頁面可以用 request.getAttribute("xx") (“xx”是struts action 映射時的 name,如果配了 attribute 就是 attribute了), 得到之前填寫的值。
我們的工程用 velocity ,更容易了,直接 $xx.fieldname ,搞定。
所以,以后還是這樣用吧。