簡體   English   中英

使用Servlet Java重定向頁面

[英]Redirecting the page with Servlets Java

我有一個帶有表單的jsp頁面,提交該表單后,該頁面將轉到Servlet ,該Servlet將表單數據插入數據庫。

將數據插入數據庫后,我試圖將瀏覽器返回到我的jsp頁面,並顯示一個JavaScript警報,提示已成功插入數據,代碼如下:

    RequestDispatcher rd;
    if(dao.insertClient(client)) { 
        rd = getServletContext().getRequestDispatcher("/pages/clients.jsp");
        rd.include(request, response);
        out.print(
            "<script type=\"text/javascript\">"
                + "alert("Client inserted successfully!");"+
            "</script>"
        );           
    }

這段代碼完全可以滿足我的要求,但是此方法getRequestDispatcher()將頁面重定向到servlet本身,而URL就像http:// localhost:8080 / Servlet一樣 ,這樣我就無法訪問該對象的任何內部鏈接。頁面,因為到其他頁面的鏈接顯然在servlet上下文之外,並且glassfish返回404錯誤。

我嘗試使用response.sendRedirect()而不是使用getRequestDispatcher(),通過這種方式,我可以將數據插入數據庫並訪問內部鏈接,但是顯示javascript警報。

有人對我如何將頁面重定向到clients.jsp並顯示javascript警報提出了建議。

謝謝!

您可以嘗試另一種方法:

像這樣從servlet設置參數:

RequestDispatcher rd;
if(dao.insertClient(client)) { 
     rd = getServletContext().getRequestDispatcher("/pages/clients.jsp");
     request.setAttribute("isSuccess", "success");
     rd.include(request, response);
}

訪問jsp中的參數以檢查是否顯示警報。

<%
   String result = request.getParameter("isSucess");
   if("success".equals(result)){
%>
   <script type="text/javascript" >
      alert("Client inserted successfully!");
   </script>
<%
  }
%>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM