全國免費熱線:
Struts2?Validation框架的一些事宜
作者:中國IT實驗室 點擊:14763次 日期:2012-01-09
字號::T | T
歡迎進入Java社區論壇,與200萬技術人員互動交流 >>進入

  一、Struts2 validation最開始就給我一個大挫折,按照官方文檔做好了demo,為一個msg字段建立required檢驗,可運行起來就是不攔截不檢驗。那個汗呀~~~~,搞了N就才發現理解錯誤,required是驗證是否為null的,而在jsp頁面里面建立一個名為msg的input即使你什么也不寫它也會給你傳第一個"",應該使用的是requiredstring對msg檢驗才是我的目的。之后就是認認真真把validation的幾個type的意思搞懂了

  二、搞定了前面的原因,把input返回值也設定成了輸入頁面,檢驗攔截成功了返回到了輸入頁面,然后就是不輸出該有的提示信息,把input換成s:textfield也不行。最后原因是:我平時寫Struts2 validation應用都會把struts.ui.theme設置成simple,而這個主題是不會顯示錯誤信息的。把這個去掉就行了,要不這樣也行

  Xml代碼


 < ?xml:namespace prefix = s / >< s:textfield theme="xhtml">< /s:textfield>

  三 校驗失敗后返回一個莫名其妙的頁面,這個真。。。。。 這個還是吃完晚飯一下子才醒悟過來的。我使用了struts2最新的convention插件,校驗失敗后會找input返回值,我并沒有顯式指定input頁面,所以convention插件會按照規則尋找actionName-input.jsp沒找到后就跑到actionName.jsp頁面去了,我說他怎么老跑到默認頁面去了呢,唉細節地方沒注意讓人給玩了。

  四 、找到問題后我才想起來一年前我也曾經遇到過這個問題,還寫過一篇博客呢,不過早忘了,汗~~~~ 這個問題就是無論如何都會校驗失敗,無論msg是否輸入了值。 原因很簡單在action里msg字段我沒寫get方法,所以validation攔截器永遠得不到msg的值,所以永遠校驗失敗。

  五、目前主要就這四個問題了, 一切都是在細節上,都是因為一些細小的東西沒注意到,經驗真重要啊。

發表評論

昵稱 * 驗證碼 * 驗證碼
上一篇: Java?Struts1.2中文亂碼處理
下一篇: >Java兩大框架的碰撞:Struts2與Webwork的對比

資質證書

CMMI Ⅲ APPRAISAL ID:30062
ISO9001:08915Q20090ROS
ISO27001:04817I20037R0S
高新技術企業:GR201753000141
網站問題免費診斷

電子商務三位一體發展戰略

技術研發

業務培訓

實戰運營

戰略布局

香港六合彩结果