又是驗證功能。。。現在似乎很怕這個功能。。以前學struts1時。。其實很簡單的驗證模塊花了我不少的時間。。現在學struts2也是一樣。。花了一個下午的時間才把struts2客戶端驗證搞定。。
在上篇中實現了服務端驗證后。。要實現客戶端驗證就很簡單。。。只要在form元素上加上validate=true就行。。另外,我也加入了國際化支持。
先說說遇到的問題
1.在<s:form>中把action的屬性寫在action="regist.action",導致struts2沒有進行客戶端驗證,就是提交給服務端處理了。。正確應該是action="register".不要加.action .. 這個問題花了我大半個下午才找出。。
2.因為懶惰把<s:textfield name="username" label="用戶名"/>就寫在<s:textfield name="username" />沒有加上label屬性。。。運行時就不停地彈出Object error對話框。。。
3.短路屬性short-circuit=true目錄只支持服務端驗證。。還不支持客戶端。。。。所以不要驚訝在客戶提交時同一個域出現不止一條的提示信息。
代碼如下:
1.注冊頁面register.jsp

















2.ReigsterAction.java























































































4.Struts2的配置文件struts.xml





































