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>")
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>")
你为什么要多此一举呢?<html><head><body>加它干嘛?
<script ltype='JavaScript/text'>这里不是type属性
是language="javascript"
正是因为你没有加上language="javascript"才导致没有弹对话框!
response.sendRedirect("addBook.jsp");
上面是我改过的还是不显示提示框,我在别的网站上看到有人说是因为用了
response.sendRedirect("addBook.jsp");,这条语句导致JS语句不执行
out.print("<script language='JavaScript'>alert(该ID已被使用,请重新输入);window.location.href='login.jsp'</script>");
和out.print("<script language='JavaScript'>alert(该ID已被使用,请重新输入)</script>");
这两个是冲突的,你只能选其一,如果你选择后者就写成:out.print("<script language='JavaScript'>alert(该ID已被使用,请重新输入);window.location.href='login.jsp'</script>");
如果选择前者当然就没必要了。这样,你所说的问题就解决了!
改成 request.getRequestDispatcher("/a.jsp").forward(request, response); 按照1楼说的保存到request里
把这个存放到request中,在页面用El表达式取值就可以了