我想在调用servlet时打开一个弹出窗口,然后要将servlet重定向到某些.jsp页面。

这是我所做的:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<script type=\"text/javascript\">");
        out.println("window.open(\"pageA.jsp\")");
        out.println("</script>");
        out.println("</body></html>");
        response.sendRedirect("pageB.jsp");
    }

仅当response.sendRedirect("error.jsp");不存在或未注释时,此代码才会弹出窗口。当前使用此代码,它不会弹出窗口并将此页面直接重定向到error.jsp
我如何同时完成以上两项操作?

最佳答案

您可以使用JavaScript来解决问题。例如:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println("<html><body>");
    out.println("<script type=\"text/javascript\">");
    out.println("var popwin = window.open(\"pageA.jsp\")");
    out.println("setTimeout(function(){ popwin.close(); window.location.href='pageB.jsp';},5000)");
    out.println("</script>");
    out.println("</body></html>");
}

10-08 13:29
查看更多