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

















2.ReigsterAction.java























































































4.Struts2的配置文件struts.xml





































