隨筆-153  評論-235  文章-19  trackbacks-0
          收集于網絡

               首先,需要將繼承了SimpleFormController之類的sessionForm設為true。這樣,在顯示一個新表單時,Spring會將command存放在session中,而在提交表單時,Spring會從session中取出此command,隨后立即從session中刪除存放command的attribute。如果發現在session中沒有command,Spring將其斷定為重復提交,轉而執行handleInvalidSubmit(request, response),可覆蓋此方法負責防止重復提交的任務。可以這么說,當setSessionForm(true)之后,如果沒有先后經歷顯示表單、提交表單的過程,就會被認為是重復提交表單。而有一些情況下卻必須重復提交表單,如,修改數據庫的數據后,試圖寫入數據庫時因某些異常失敗,如果此時異常被當前頁面捕獲并依舊返回當前頁面,由于command已經被Spring在后臺從session中移走,因此,就被認為是無效重復提交,從而導致第二次經修改后的記錄無法正確提交到數據庫中。handleInvalidSubmit()必須考慮到這種情況。
          posted on 2007-05-08 15:44 流浪汗 閱讀(2043) 評論(0)  編輯  收藏 所屬分類: Spring
          主站蜘蛛池模板: 杂多县| 湖州市| 乌兰县| 门源| 衡东县| 盘锦市| 车致| 阳江市| 晋中市| 吉安县| 嘉黎县| 白山市| 齐河县| 五华县| 岳普湖县| 莆田市| 濮阳县| 津市市| 丹寨县| 通道| 吴堡县| 榕江县| 株洲县| 亳州市| 葫芦岛市| 万全县| 海淀区| 恩施市| 山阴县| 遵义县| 潍坊市| 晋宁县| 墨脱县| 安新县| 礼泉县| 天祝| 黄浦区| 长沙县| 阳朔县| 轮台县| 仙居县|