一Struts validation最開始就給我一個大挫折按照官方文檔做好了demo為一個msg字段建立required檢驗可運行起來就是不攔截不檢驗那個汗呀~~~~搞了N就才發現理解錯誤required是驗證是否為null的而在jsp頁面裡面建立一個名為msg的input即使你什麼也不寫它也會給你傳第一個應該使用的是requiredstring對msg檢驗才是我的目的之後就是認認真真把validation的幾個type的意思搞懂了
二搞定了前面的原因把input返回值也設定成了輸入頁面檢驗攔截成功了返回到了輸入頁面然後就是不輸出該有的提示信息把input換成s:textfield也不行最後原因是我平時寫Struts validation應用都會把strutsuitheme設置成simple而這個主題是不會顯示錯誤信息的把這個去掉就行了要不這樣也行
Xml代碼
< ?xml:namespace prefix = s / >< s:textfield theme=xhtml>< /s:textfield>
三 校驗失敗後返回一個莫名其妙的頁面這個真 這個還是吃完晚飯一下子才醒悟過來的我使用了struts最新的convention插件校驗失敗後會找input返回值我並沒有顯式指定input頁面所以convention插件會按照規則尋找actionNameinputjsp沒找到後就跑到actionNamejsp頁面去了我說他怎麼老跑到默認頁面去了呢唉細節地方沒注意讓人給玩了
四 找到問題後我才想起來一年前我也曾經遇到過這個問題還寫過一篇博客呢不過早忘了汗~~~~ 這個問題就是無論如何都會校驗失敗無論msg是否輸入了值 原因很簡單在action裡msg字段我沒寫get方法所以validation攔截器永遠得不到msg的值所以永遠校驗失敗
五目前主要就這四個問題了 一切都是在細節上都是因為一些細小的東西沒注意到經驗真重要啊
From:http://tw.wingwit.com/Article/program/Java/ky/201311/27878.html