response.getWriter().print("<html><head></head><body><script ltype='JavaScript/text'>alert(该ID已被使用,请重新输入)</script></body></html>");
response.sendRedirect("addBook.jsp");
我这样写,没有提示框,只是直接跳转
另外我把它改成
response.setContentType("gb2312");
JOptionPane.showMessageDialog(null,"该书已存在!核对后再输入");
response.sendRedirect("addBook.jsp");
改成上面的加载特别慢,等了5分钟也没有反映下面的这句是我在别的Servlet中写的,这句就能正确跳转,显示提示框
out.print("<script language='JavaScript'>alert('密码或用户名错误!请重新输入');location.href='AdministerLogin.jsp';</script>")

解决方案 »

  1.   

    也可以将提示消息存入Request范围、也面取出来在提示。
      

  2.   

    <script ltype='JavaScript/text'>这个貌似不对吧,怎么是ltype?是不是应该写成这样<script type="text/javascript">~
      

  3.   

    response.getWriter().print("<html><head></head><body><script ltype='JavaScript/text'>alert(该ID已被使用,请重新输入)</script></body></html>");
    你为什么要多此一举呢?<html><head><body>加它干嘛?
    <script ltype='JavaScript/text'>这里不是type属性
    是language="javascript"
    正是因为你没有加上language="javascript"才导致没有弹对话框!
      

  4.   

    out.print("<script language='JavaScript'>alert(该ID已被使用,请重新输入)</script>");
    response.sendRedirect("addBook.jsp");
    上面是我改过的还是不显示提示框,我在别的网站上看到有人说是因为用了
    response.sendRedirect("addBook.jsp");,这条语句导致JS语句不执行
      

  5.   

    是啊,你这就冲突了,out.print("<script language='JavaScript'>alert(该ID已被使用,请重新输入)</script>");你可以加个window.location.href='login.jsp'。表示点确定后转到哪个页面!正确代码如下:
    out.print("<script language='JavaScript'>alert(该ID已被使用,请重新输入);window.location.href='login.jsp'</script>");
      

  6.   

    response.sendRedirect("addBook.jsp");
    和out.print("<script language='JavaScript'>alert(该ID已被使用,请重新输入)</script>");
    这两个是冲突的,你只能选其一,如果你选择后者就写成:out.print("<script language='JavaScript'>alert(该ID已被使用,请重新输入);window.location.href='login.jsp'</script>");
    如果选择前者当然就没必要了。这样,你所说的问题就解决了!
      

  7.   

    问题解决了,不是因为没写language="javascript",是因为response..sendRedirect("addBook.jsp");这条语句影响了JS语句的执行
    改成 request.getRequestDispatcher("/a.jsp").forward(request, response); 按照1楼说的保存到request里
      

  8.   

    JOptionPane.showMessageDialog(null,"该书已存在!核对后再输入");
    把这个存放到request中,在页面用El表达式取值就可以了