思考^新知^傳播

          crabhn's blog

           

          [導入]解決Struts ActionForm對象數組提交錯誤的問題

          我們在作訂單提交的時候需要作一個嵌套著對象和對象數組的form,例如:
          class OrderForm extent ActionForm
          {
              Contract contract;
              Consumer[] consumers;
              ...
              ...
          }
          然后在html form里面用點屬性的方式來進行提交:
          <form ...>
              <input name="contract.name"/>
              ...
              <input name="consumers[0].name"/>
              ...
              <input name="consumers[1].name"/>
              ...
          </form>
          我想當然這樣就可以提交過去了,因為以前我們有類似的代碼,我也沒有去看文檔(不過我去找了文檔也沒有看到,估計需要看源代碼:),但是提交失敗了,頁面完全出不來,而且代碼都沒有運行到Action里面去,說明struts在裝載Form的時候就出了Exception。我研究了一個天都沒有搞清楚,如果換成String數組的方式又太不直觀,這時候就郁悶了。

          不過昨天睡覺前我又理了一下思路,想起自己可能是沒有初始化變量出錯了。Struts往沒有初始化過的變量里面set當然會有exception。:)

          所以今天早上我就把Form改了一下:
          class OrderForm extent ActionForm
          {
              Contract contract = new Contract();
              Consumer[] consumers;
              ...
              ...
          }

          而consumers在Action里面初始化,把它根據需要初始化足夠的Consumer。

          但是,最后發現還是出不來頁面。
          這次也很直接,在xml配置里面把form的scope從request改成session,就ok了。

          但是,struts還是沒有搞得太清楚。最近聽說struts和webwork合并了,作了一個Struts Ti,而且基于webwork2得核心,看來可以直接去看看webwork的文檔,看看什么時候有機會把它引入我們的項目里面來。


          文章來源:http://blog.donews.com/crabhn/archive/2006/03/01/748078.aspx

          posted on 2006-03-01 19:53 crabhn's blog 閱讀(2430) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿(2)

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 韶山市| 牡丹江市| 彩票| 远安县| 班戈县| 辽宁省| 宁晋县| 郑州市| 吐鲁番市| 弋阳县| 武冈市| 赤壁市| 望都县| 赣榆县| 宿松县| 长泰县| 湖州市| 通化市| 仙居县| 大洼县| 清水河县| 永修县| 齐齐哈尔市| 永新县| 饶河县| 宁河县| 乌苏市| 潍坊市| 中西区| 罗定市| 鸡泽县| 临邑县| 迁西县| 萝北县| 湘潭县| 从化市| 县级市| 巴马| 夏邑县| 叙永县| 勐海县|