頁面跳轉兩種方式,跳轉兩種方式

來源:互聯網
上載者:User

頁面跳轉兩種方式,跳轉兩種方式
    在介面顯示過程用,一般都是通過使用者提交頁面請求到Servlet,在通過Servlet處理後跳轉到相應的介面,進行資料的顯示。一般頁面跳轉有兩種方式,分別是重新導向(response.sendRedirect)和轉寄(request.getRequestDispatcher)。下面分別來看這兩種方式是如何進行實現的(以下代碼是在Servlet中進行頁面跳轉操作的):    1.重新導向(response.sendRedirect)方式     

        ItemManager itemManager=new ItemManagerImpl();        try{            itemManager.addItem(item);        }catch(ApplicationException e){            String error_message="添加物料失敗,物料代碼";        }                  //重新導向到查詢頁面        response.sendRedirect(request.getContextPath()+"/basedata/item_maint.jsp?errorMessage="+URLEncoder.encode(errorMessage,"GB18030"));

        //jsp接收servlet參數
        <font color="red"><%=request.getParameter("error_message")==null? "": request.getParameter("error_message")%></font>
   
    2.轉寄(request.getRequestDispatcher)方式
        ItemManager itemManager=new ItemManagerImpl();        try{            itemManager.addItem(item);        }catch(ApplicationException e){              //將參數設定到request的屬性中            request.setAttribute("error_message", "添加物料失敗,物料代碼");        }                  //轉寄到jsp頁面        request.getRequestDispatcher("/basedata/item_maint.jsp").forward(request, response);

                //jsp接收servlet參數      
        <font color="red"><%=request.getAttribute("error_message") %></font>

    3.重新導向和轉寄的主要區別:(是否共用request)
        重新導向頁面:由於瀏覽器所顯示的頁面地址為新的URL,所以原頁面的request變數就會失效,request中的資料也無法傳遞到新的頁面,造成不能共用request。如果要使用重新導向方式,需要在其URL地址後面跟上要傳遞的參數。
        轉寄頁面:轉寄頁面時由於使用的是同一個URL地址,所以可以將一些參數直接設定到request的屬性中,其可以根據URL地址傳遞到前台介面。使得request共用使用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.