samtiger


          QQ:418148757
          Name:yangchuan
          數(shù)據(jù)加載中……
          struts2驗(yàn)證失敗后返回input,select中l(wèi)ist數(shù)據(jù)丟失問(wèn)題

          很多人都在問(wèn),struts2驗(yàn)證失敗后select中l(wèi)ist數(shù)據(jù)丟失的問(wèn)題

          could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name}。
          其實(shí)這個(gè)問(wèn)題很簡(jiǎn)單,大多數(shù)人,是通過(guò)action跳轉(zhuǎn)到數(shù)據(jù)編輯頁(yè)面的,這樣做的目的是方便把數(shù)據(jù)庫(kù)里的數(shù)據(jù),反顯到頁(yè)面。同時(shí)也可以通過(guò)該action 將select中的列表數(shù)據(jù)從數(shù)據(jù)庫(kù)中取出,傳遞給頁(yè)面。但是,這里出現(xiàn)一個(gè)問(wèn)題,那就是在struts2驗(yàn)證失敗后返回input的時(shí)候,頁(yè)面不是通過(guò)該action的該方法傳遞回去的(實(shí)際上是通過(guò)DefaultWorkflowInterceptor攔截器攔截回去的),所以這個(gè)時(shí)候頁(yè)面就找不到sleect的數(shù)據(jù)集合,從而報(bào)錯(cuò)。有的人也許會(huì)問(wèn),修改input的type為redirect,直接掉轉(zhuǎn)到那個(gè)action上去,呵呵,這種方法雖然可以保證得到select的數(shù)據(jù)集合,因?yàn)閞edirect的性質(zhì),我們丟失了之前驗(yàn)證的錯(cuò)誤信息。所以還是不能解決問(wèn)題,那么有的人可能說(shuō)了,那么改用chain就可以了吧,如果改用chain,我們知道,chain是action鏈的掉轉(zhuǎn),執(zhí)行action還是要經(jīng)過(guò)攔截器,所以因?yàn)槟銕в序?yàn)證錯(cuò)誤信息,你還是會(huì)被DefaultWorkflowInterceptor攔截器攔截,還是會(huì)報(bào)錯(cuò),而且是chain鏈錯(cuò)。
              其實(shí),可以反一種思路,既然走跳轉(zhuǎn)不成功,我們可不可以在頁(yè)面上下功夫呢。其實(shí)我們的select的list能不能不經(jīng)過(guò)action而直接得到數(shù)據(jù)呢,是可以的,我們的ognl可以訪問(wèn)某個(gè)對(duì)象的某個(gè)方法,也可以訪問(wèn)某個(gè)靜態(tài)類的靜態(tài)屬性,靜態(tài)方法。所以我們可以將這些數(shù)據(jù)通過(guò)對(duì)象方法訪問(wèn),也可以通過(guò)靜態(tài)類的靜態(tài)方法去訪問(wèn),具體怎么做,根據(jù)需要寫就可以了。代碼就不在這里寫了,因?yàn)榉浅:?jiǎn)單。

          posted on 2010-05-15 09:35 sam.chuan.yang 閱讀(2670) 評(píng)論(2)  編輯  收藏

          評(píng)論

          # re: struts2驗(yàn)證失敗后返回input,select中l(wèi)ist數(shù)據(jù)丟失問(wèn)題 2011-04-26 16:36 holdlg

          大哥,太簡(jiǎn)單了,不知道怎么寫,要用ajax嗎?汗項(xiàng)目都快完工了,又叫填靜態(tài)類方法...無(wú)語(yǔ)...

          # re: struts2驗(yàn)證失敗后返回input,select中l(wèi)ist數(shù)據(jù)丟失問(wèn)題 2011-04-27 16:20 samtiger

          @holdlg
          select 的列表數(shù)據(jù),最簡(jiǎn)單的就直接通過(guò)靜態(tài)方法去生成就可以了

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 屯昌县| 屏边| 花莲县| 清水河县| 罗城| 新绛县| 罗定市| 禄劝| 尉犁县| 离岛区| 彰化县| 青铜峡市| 武威市| 榕江县| 监利县| 苏州市| 麻阳| 枝江市| 永济市| 宾阳县| 青浦区| 楚雄市| 肥城市| 大厂| 如皋市| 威远县| 额敏县| 余姚市| 屯昌县| 泰来县| 肥东县| 湛江市| 越西县| 临沧市| 凤翔县| 简阳市| 西和县| 高要市| 东城区| 玛多县| 九龙县|