<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    風行天下

    JAVA太極
    posts - 4, comments - 10, trackbacks - 0, articles - 55
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
    Web系統的用戶界面往往是通過html腳本在瀏覽器中顯示出來,其中瀏覽器的刷新功能將重新提交當前頁面的URL請求。這就會出現如下情況:從一個新增編輯頁面存盤后返回到一個記錄列表頁面,在這個列表頁面使用刷新鍵的時候,用戶的意圖應該是想刷新當前的記錄列表,但是這時候提交的會是新增記錄存盤的請求,這樣就可能出現向服務器重復提交導致錯誤。
        如何能夠解決這個問題,首先要認識到提交存盤操作后的列表頁面的URL請求與直接提交顯示列表頁面的URL請求對于客戶端顯示的刷新操作帶來的不同效果,我們要是能將存盤操作后在客戶端顯示出的記錄列表頁面在客戶端的頁面屬性和直接請求列表的的頁面屬性一樣的話,就能夠讓刷新操作只提交列表顯示的請求。我們可以利用java servlet所提供的redirect功能來將存盤功能和顯示記錄列表分開,在完成了存盤操作后給response設定顯示記錄列表的請求重定向返回到客戶端瀏覽器,這樣瀏覽器中顯示的列表頁面的請求屬性是直接請求記錄列表顯示的URL,直接刷新頁面的話則提交的也是記錄列表頁面顯示的請求。
        在目前流行的struts框架中,實現重定向很方便,只需要在配置文件struts-config.xml里面中的<forward腳本中加上redirect屬性值為“true”,例如以下一個配置
        
    <action path  = "/saveRecord"
                type  = "xxx.SaveRecordAction"
                name  = "recordForm">
                <forward name="success" path="/recordList.do" redirect="true"/>
                <forward name="fail" path="/recordEdit.do" redirect="true"/>
        </action>


         設定記錄存盤操作(/saveRecord.do)請求成功完成后,重定向到記錄列表顯示(/recordList.do)請求去,若操作失敗則重定向到編輯界面(/recordEdit.do)繼續修改。
        需要注意的是重定向后的請求不會自動獲得當前請求的request數據,當然包括各種form提交的數據,所以在實際運用中最煩人的可能是將重定向請求所需的各類參數設定到重定向的URL字串中。
        對上面的配置例子,假設我們的/recordList.do請求需要一個參數是record_id=xxx,我們可以在xxx.SaveRecordAction里用以下代碼來設定幾個參數:

        
    public ActionForward execute(ActionMapping mapping,
                                     ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response)
                throws Exception
        {
         ...//略去處理存盤代碼

            ActionForward actForward = actionMapping.findForward("success");
            String path = actForward.getPath();
            path += "record_id=xxx";
            return new ActionForward(actForward.getName(),path,true);
            //返回一個重定向ActionForword對象
            
         }






    參與論壇討論:http://www.matrix.org.cn/forum.asp
    更多技術文章:http://www.matrix.org.cn/article.asp
    Matrix java門戶:http://www.matrix.org.cn

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


    網站導航:
     
    主站蜘蛛池模板: 国产偷国产偷亚洲清高动态图| 曰批免费视频播放免费| 亚洲午夜国产片在线观看| 91香蕉成人免费网站| 两个人看的www免费视频| 国产偷国产偷亚洲高清在线| 亚洲国产日韩女人aaaaaa毛片在线| 亚洲精品国产美女久久久| 免费A级毛片无码久久版| 青苹果乐园免费高清在线| 久久久久av无码免费网| 久久这里只精品热免费99| 一级有奶水毛片免费看| 日韩在线观看免费| 国产午夜亚洲精品不卡免下载| 亚洲熟妇无码AV| 亚洲sss综合天堂久久久| 4444亚洲国产成人精品| 亚洲av午夜福利精品一区人妖| 亚洲中文字幕久久精品无码喷水| 亚洲AⅤ永久无码精品AA| 国产成人无码免费视频97| 最新中文字幕免费视频| 免费精品国偷自产在线在线| 精品无码免费专区毛片| 69视频免费在线观看| 猫咪免费人成网站在线观看| 桃子视频在线观看高清免费视频| 免费在线观看一级片| 国内永久免费crm系统z在线| 国产精品玖玖美女张开腿让男人桶爽免费看 | 狠狠综合久久综合88亚洲| 亚洲伊人久久综合影院| 亚洲日韩人妻第一页| 精品国产亚洲一区二区在线观看| 亚洲综合激情另类专区| 国产亚洲婷婷香蕉久久精品| 久久精品国产亚洲AV麻豆不卡| 亚洲av无码一区二区三区乱子伦| 亚洲AV无码专区国产乱码电影| 日韩亚洲Av人人夜夜澡人人爽 |