我采用的是JSP + Servlet,当我增加,或修改,或删除一条记录,或者操作出错时,想要弹出一个对话框提示用户,他的操作是否成功,请问在Servlet里应该怎么实现?

解决方案 »

  1.   

    out.println()来写页面,内容当然是js了。
    可以用true、false来断定是否成功、失败,对应的弹出信息。
      

  2.   

    String alertMsg = "<script language='JavaScript' type='text/JavaScript'>";
    alertMsg += "alert('对不起,相册密码不正确!请联系博客主人索取!');";
    alertMsg += "history.back();";
    alertMsg += "</script>";response.setContentType("text/html; charset=UTF-8");
    response.getWriter().println(alertMsg);
    response.getWriter().close();
      

  3.   

    在servlet中写类似request.setAttribute("msg","增加成功!");
    然后在forward转向的JSP中写段javascript
    如:
    <script>
       var  msg = '${msg}';
       if(msg!=null)
       {
         alert(msg);
       }
    </script>
      

  4.   

    out.print("<script>
    var r = window.confirm("是否成功"); if(r== true){
    window.location="http://www.baidu.com";
    }else{
       window.location="http://www.google.com";
    }</script>");里面的地址可以写你要跳转的页面.
      

  5.   

    纯servlet?
    那就是jsp也是用servlet里面用out.println来写?
    那我孤陋寡闻,不会...
    jsp的话alert就行
    但纯servlet的话不能弹出对话框的吧....
    最少最少你也要用awt吧....而且那也烦,不如在jsp里面用alert呢
    用标签是最快的了...
      

  6.   

    当然,如果你写成jsp里面
    out.println("<javascript>xxxxalert()xxxx</javascript>")那是可以的
    直接写?好像不行吧...
      

  7.   


    request.setAttribute("flag","成功/失敗");
    頁面再get就可以阿。
    Ext.Msg.alert("操作"+<%=request.getAttribute("flag");%>);
      

  8.   

    对话框是弹出来了,但是为什么抛出错误了啊?
    java.lang.IllegalStateException:Cannot forward after response has been bommitted
      

  9.   

    jar包问题?考虑了没?发的太少可以把你的代码多发点上来包括导入的JAR包
      

  10.   

    嘿嘿...
    打错字了
    抛出的错误是:java.lang.IllegalStateException:Cannot forward after response has been committed
      

  11.   

    这个可以的,在servlet 里面
    PrintWriter out=response.getWriter(); 
    out.println("<html>");
    out.println("<head><title>添加成功</title></head>");
    out.println("<body>");
    out.println("<SCRIPT LANGUAGE='JavaScript'> alert('操作成功,请返回');  window.location.href('../xx.jsp');</script>");  //成功后返回你的页面
    out.println("</body></html>");
      

  12.   

    我想在servlet里直接实现,觉得将结果返回到JSP页面再弹出对话框,太麻烦了.
      

  13.   


    输出了 字符,就不能使用formard跳转了,你可以这样:String alertMsg = " <script language='JavaScript' type='text/JavaScript'>"; 
    alertMsg += "alert('对不起,相册密码不正确!请联系博客主人索取!');"; 
    alertMsg += "history.back();"; 
    alertMsg += "location.href='xx.jsp';";
    alertMsg += " </script>"; response.setContentType("text/html; charset=UTF-8"); 
    response.getWriter().println(alertMsg); 
    response.getWriter().close(); 进行跳转
      

  14.   

    对了 还要把 alertMsg += "history.back();";  删除,否则 他返回之前的页面去了
      

  15.   

    alertMsg += "location.href='xx.jsp';";他返回到一个固定的页面里,那如果这个页面是进行查询操作以后生成的页面,要怎么处理?比如说:这个页面显示的是商品表里的信息,现在我新增加了一条商品信息,弹出提示框,增加成功,要怎么返回这个显示页面呢,里面显示了所有的商品信息,包括新增加的那一条。每次到这个显示页面之前都要进行查询所有商品,不管进行了删除,或是增加,或是修改。
      

  16.   

    servlet里提示?
    我不知道你是不是这个意思String xinxi = "add success";
    catch (Exception e) {
    xinxi = "add false";
    }finally {
    System.out.println(xinxi);
    }alertMsg += "location.href='xxservlet'";
    xxservlet 再跳转到jsp啊
      

  17.   

    System.out.println(xinxi)这个信息用户是看不到的啊,我要把信息返回给用户
      

  18.   


    你要跳转到哪里 都可以,servlet 或者 html 都可以alertMsg += "location.href='xx.jsp';";alertMsg += "location.href='xx.do';";alertMsg += "location.href='xx';";alertMsg += "location.href='xx.html';";