在struts中添加数据成功后给用户个友好提示我想弹出个对话框怎么搞?public ActionForward addSw (ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
OaSwForm ff = (OaSwForm)form;
PrintWriter out = response.getWriter();
boolean flage = swbiz.add(ff.getSw());
ActionForward af = null;
if(flage){
out.print("<script language='JavaScript'>alert('等记成功!');</script>");
request.getRequestDispatcher("gwxx.do?operate=getSwxx").forward(request, response);
} else {
af = mapping.findForward("errorsw");
}
out.flush();
out.close();
return af;
}这样不行····

解决方案 »

  1.   

    在if分支里,用request.setAttribute设置一成功标志,然后在jsp页面onload判断,有此标志,则alert('XX成功');
      

  2.   

    你写的代码应该是可以的,试试使用PrintWriter输出js之前先输出<body>标签,我认为这样写js才能被当作内容输出。
      

  3.   

    刚才试了下,已经成功输出了
    PrintWriter out = response.getWriter(); 
    StringBuffer buf = new StringBuffer();
    buf.append("<html>");
    buf.append("<head><title>response alert</title></head>");
    buf.append("<body>");
    buf.append("<script type=\"text/javascript\">");
    buf.append("alert(\"登记成功!\");");
    buf.append("</body>");
    buf.append("</html>");
    out.print(buf.toString());
    out.flush();
    out.close();
      

  4.   

    af = mapping.findForward("errorsw");  else里面报错页面都写了的,同样在if里面做个成功页面不就完了
      

  5.   

    提个建议,就你这功能干脆用AJAX,更方便,只要能正确返回,就弹出窗口~~LZ应该会AJAX吧