風人園

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

          struts2 表單屬性映射的問題

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

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

          以上是題外話。

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

          現(xiàn)在出現(xiàn)問題的在第二種情況,設(shè)值后,傳到頁面,頁面沒有得到值,這個不知道什么緣故,感覺有可能是頁面轉(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

          主站蜘蛛池模板: 广南县| 陆河县| 通城县| 元氏县| 连平县| 昆明市| 棋牌| 扎赉特旗| 东宁县| 靖安县| 三明市| 义马市| 景德镇市| 张北县| 龙江县| 息烽县| 如皋市| 积石山| 夏津县| 香港| 定西市| 贵溪市| 大邑县| 保山市| 库尔勒市| 永康市| 湘潭县| 龙里县| 奎屯市| 呼图壁县| 秦皇岛市| 上高县| 仪征市| 浦城县| 灵宝市| 交城县| 安西县| 沾化县| 英超| 平南县| 浦东新区|