思考^新知^傳播

          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)

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 阿拉善盟| 嘉峪关市| 浦东新区| 庆城县| 怀柔区| 加查县| 乐平市| 大足县| 南木林县| 太原市| 宁海县| 绍兴市| 嵊泗县| 商河县| 织金县| 张家界市| 重庆市| 定日县| 长泰县| 房山区| 三穗县| 平湖市| 科尔| 保靖县| 永吉县| 潮州市| 额尔古纳市| 东丰县| 富源县| 容城县| 曲靖市| 维西| 余江县| 资阳市| 永宁县| 山阴县| 灵丘县| 徐水县| 兴安盟| 彭水| 化德县|