用out.println()输出你的javascript语句就可以啦。

解决方案 »

  1.   

    楼上的说的很有道理!
    JSP代码,包括转发都在服务器端被执行。所以你的脚本来不及显示,就已经转发了。
    所以脚本可以写在JSP代码中:
    <%
           out.println("<SCRIPT LANGUAGE=\"JavaScript\">");
           out.println("alert(\"登录数据库失败,请检查用户名、密码输入是否正确!\"));
           out.println("</SCRIPT>");
           out.println("<jsp:forward page=\"Login.html\"/>");
    %>
      

  2.   

    这是因为服务器解释的先后顺序导致的。
    首先,jsp语句是服务端语言,将优先被解释,等解释完服务端语句后再由ie解释客户端脚本,就是你的javascript。所以,你的页面将先被转发而不弹出提示框。
    其次,如果你把javascirpt语句夹在<jsp:forward page="Main.jsp">和</jsp:forward>标签中间,服务器将把其视为你要传递的参数,但发现她无法解释这个参数,所以中断后面的一切解释(这个你可以在</jsp:forward>后面再out.println()些什么东西,发现不打印了,以此来证明),按照jsp的语法规则,forward语句只有在解释到 / 符号的时候才真正实现转发功能。所以你的页面将无法转发。服务端停止解释后ie开始解释了,所以你看到了提示框。
      

  3.   

    请问out.println()中嵌套字符串,如:
    out.println("alert("")")
    该怎样解决?
      

  4.   

    “万分”感谢
    呵呵,xuqingwei761026(小许)每人2000分,剩下的给我!