讀本文的前提: .net
1)知道Struts2可以對URL請求參數的自動封裝/自動轉換類型的功能 blog
2)用過描述1中的功能。 get
對於以上問題,OSchina推薦了一個博客:http://my.oschina.net/u/273709/blog/80420 @羅榮熙 博客
之前都比較習慣使用Struts2對請求參數的自動封裝,能夠新建一個Vo實體來接受這些參數。方便快捷,感受很酷。 io
近來作項目在參數類型不正確的的狀況下,Struts2會出錯。而沒法捕獲詳細的異常,是一件很悲催的事情。 請求
解決辦法: 方法
在Action中本身校驗這些參數,將全部的參數類型都定義爲String類型。而後根據參數預設的類型來校驗。 項目
一個Action中通常能提供一個或多個方法(Action),不免會產生多個相同的參數。 異常
此時新建一個攔截器,在攔截器中處理這些公共的參數。 習慣
方法中特有的參數,在方法體中去校驗。
這樣就能準確的提示到是哪一個參數非法。
關於Struts2中獲取參數的原來,能夠參見:http://my.oschina.net/u/617085/blog/74207