获取警报后如何从servlet重定向到jsp?

时间:2017-07-20 11:58:03

标签: jsp servlets

在我的代码中我想显示警告消息,该消息在servlet页面中编码。     然后我想重定向到jsp。我有警报信息。但它没有重定向。请检查我的代码?

catch (Exception e) {
            e.printStackTrace();
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter(); 
            String someMessage = "Vehicle already Assigned";            
            out.println("<html><head>");
            out.println("<script type='text/javascript'>");
            out.println("alert(" + "'" + someMessage + "'" + ");</script>");
            out.println("</head><body></body></html>");
    }

我把这行放在哪里

getServletContext().getRequestDispatcher("VehicleSchedule.jsp").forward(request, response);

2 个答案:

答案 0 :(得分:0)

你可以使用这样的东西,但我不是真的推荐!

out.println("<script type=\"text/javascript\">");
            out.println("alert('YOUR MESSAGE');");
            out.println("window.location.href = \"YourPage.jsp\";");
            out.println("</script>");

这是一个棘手而简单的方法!但如果您愿意,也可以使用session执行此操作。

答案 1 :(得分:0)

您可以简单地将javascript代码与警报消息一起使用,但它会重定向您的请求,并且不会将其与任何数据一起分发。

 out.println("<script type='text/javascript'>");
 out.println("alert(" + "'" + someMessage + "'" + ");</script>");
 **out.println("window.location.href = 'myPage.jsp';");**

因此,如果您想要将任何数据与请求对象一起传递,则需要将其附加到URL中或将其添加到Session对象中。

out.println("window.location.href = 'myPage.jsp?var1=value1';");

 or 

session.setAttribute("var1","val1");