struts2 select 提交報錯

2021-06-21 13:42:51 字數 848 閱讀 4481

很多人都在問,struts2驗證失敗後select中list資料丟失的問題

could not be resolved as a collection/array/map/enumeration/iterator type. example: people or people.。

其實這個問題很簡單,大多數人,是通過action跳轉到資料編輯頁面的,這樣做的目的是方便把資料庫裡的資料,反顯到頁面。同時也可以通過該action 將select中的列表資料從資料庫中取出,傳遞給頁面。但是,這裡出現乙個問題,那就是在struts2驗證失敗後返回input的時候,頁面不是通過該action的該方法傳遞回去的(實際上是通過defaultworkflowinterceptor***攔截回去的),所以這個時候頁面就找不到sleect的資料集合,從而報錯。有的人也許會問,修改input的type為redirect,直接掉轉到那個action上去,呵呵,這種方法雖然可以保證得到select的資料集合,因為redirect的性質,我們丟失了之前驗證的錯誤資訊。所以還是不能解決問題,那麼有的人可能說了,那麼改用chain就可以了吧,如果改用chain,我們知道,chain是action鏈的掉轉,執行action還是要經過***,所以因為你帶有驗證錯誤資訊,你還是會被defaultworkflowinterceptor***攔截,還是會報錯,而且是chain鏈錯。

其實,可以反一種思路,既然走跳轉不成功,我們可不可以在頁面上下功夫呢。其實我們的select的list能不能不經過action而直接得到資料呢,是可以的,我們的ognl可以訪問某個物件的某個方法,也可以訪問某個靜態類的靜態屬性,靜態方法。所以我們可以將這些資料通過物件方法訪問,也可以通過靜態類的靜態方法去訪問,具體怎麼做,根據需要寫就可以了。**就不在這裡寫了,因為非常簡單。

struts2 select 標籤使用

struts2的select標籤中,常用的有以下幾個屬性 1 struts2中的select 標籤中,必須設定的屬性只有乙個,即是list。2 select標籤的list中必須有值,不然會報錯。如果沒有值,可以加上headerkey,headervalue,這樣就可以通過了。如 xml 其中,即使l...

struts2 select標籤的用法

align center size medium color red struts2 select標籤的用法 color size align struts2的select標籤中,常用的有以下幾個屬性 1 struts2中的select 標籤中,必須設定的屬性只有乙個,即是list。2 select...

struts2 select 中使用方法總結

struts2的select標籤中,常用的有以下幾個屬性 1 struts2中的select 標籤中,必須設定的屬性只有乙個,即是list。2 select標籤的list中必須有值,不然會報錯。如果沒有值,可以加上headerkey,headervalue,這樣就可以通過了。如 xml s sele...