風(fēng)人園

          弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
          隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
          數(shù)據(jù)加載中……

          struts2 表單屬性映射的問題

          最近使用的過程中,有點(diǎn)搞不懂,表單域跟屬性到底是怎么個關(guān)系,因?yàn)橛袝r候可以,有時候又不行。有點(diǎn)小郁悶。

          使用新東西的時候或多或少會出現(xiàn)這樣那樣的問題,這導(dǎo)致很多人不愿意更換原來的框架,一換又要學(xué)一個大堆東西,處理一大堆異常。但是我們這些做開發(fā)的,不學(xué)習(xí)使用新的 東西,就會被淘汰。這個行業(yè)的悲哀啊,當(dāng)初也不知道怎么選擇了這個行業(yè)。

          以上是題外話。

          表單映射,在2里面有兩種方式,一個事modelDriver,直接映射到model里面。
          另一種方式就是通過屬性來影射,通過getter和setter方法來獲取和設(shè)置值。

          現(xiàn)在出現(xiàn)問題的在第二種情況,設(shè)值后,傳到頁面,頁面沒有得到值,這個不知道什么緣故,感覺有可能是頁面轉(zhuǎn)發(fā)的問題。這個還要好好看看資料研究一下。

          :)

          //==========================================================================
          2009-11-17
          好久以前的問題了,今天終于有了答案,原來都是ValueStack惹的。其實(shí)也怪自己,一直沒有空把struts2的原理好好的看看,還以為跟以前的東西一樣呢。

          問題是這樣的,在action里定義了屬性之后,數(shù)據(jù)都是存在ValueStack里面的。如果你直接使用tag取的話就沒有問題。但是你想通過java代碼,用request取的話,這樣是取不出來的。

          今天終于發(fā)現(xiàn)了這個問題的原因。
          這些屬性可以通過request取,但是首先要去的ValueStack,然后從ValueStack里面把這個值取出來。
          如:
          ValueStack vs = request.getAttribute(struts.valueStack);
          然后根據(jù)屬性名稱,從vs中獲取這個對象值。
          vs.find("value");

          這樣就可以把數(shù)據(jù)取出來通過java代碼來操作了。否則只能使用struts2自帶的tag來運(yùn)行。

          這個是今天的一大收獲。

          posted on 2009-08-04 15:52 風(fēng)人園 閱讀(1103) 評論(0)  編輯  收藏 所屬分類: Struts2

          主站蜘蛛池模板: 锦屏县| 澎湖县| 乐昌市| 达州市| 沙坪坝区| 开封市| 金华市| 台前县| 馆陶县| 肇源县| 阳西县| 彰武县| 九江县| 淮安市| 安徽省| 蓬安县| 修武县| 霍山县| 锡林浩特市| 紫金县| 即墨市| 砀山县| 巨鹿县| 唐山市| 平南县| 阳山县| 和硕县| 梓潼县| 客服| 衡阳市| 大厂| 晋中市| 炎陵县| 石泉县| 沁水县| 苏尼特右旗| 增城市| 湘乡市| 封丘县| 永定县| 旌德县|