風人園

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

          struts2 表單屬性映射的問題

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

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

          以上是題外話。

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

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

          :)

          //==========================================================================
          2009-11-17
          好久以前的問題了,今天終于有了答案,原來都是ValueStack惹的。其實也怪自己,一直沒有空把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來運行。

          這個是今天的一大收獲。

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

          主站蜘蛛池模板: 南涧| 潍坊市| 恭城| 水富县| 高密市| 邵阳县| 淳化县| 辽阳市| 淮北市| 黎城县| 称多县| 佛教| 拜城县| 三门峡市| 罗定市| 连城县| 山阴县| 那坡县| 通河县| 峨眉山市| 南木林县| 杭州市| 新竹县| 四平市| 北流市| 旅游| 富阳市| 喀什市| 陵水| 满洲里市| 沅陵县| 榆林市| 鲁甸县| 高雄市| 天祝| 扶风县| 来宾市| 济宁市| 贵溪市| 三门县| 台东市|