访问一个JSP文件,里面有这么一段:
out.println("alert('123');");
然后,用JSP的任意一种跳转,比如sendRedirect,forward等,跳到新页面。但是我调的这个JS方法是不会执行的。为什么?怎么办?谢谢。
而在JS里面用location.href跳转才有用,但是我这里不能这么用。
[b]问题补充:[/b]
明白的。 不过。用了flush,就不能再用response和request等进行跳转了。这样就不好办了。
访问一个JSP文件,里面有这么一段:
out.println("alert('123');");
然后,用JSP的任意一种跳转,比如sendRedirect,forward等,跳到新页面。但是我调的这个JS方法是不会执行的。为什么?怎么办?谢谢。
而在JS里面用location.href跳转才有用,但是我这里不能这么用。
[b]问题补充:[/b]
明白的。 不过。用了flush,就不能再用response和request等进行跳转了。这样就不好办了。
[code="java"]out.println("alert('123');"); [/code]
这句话,不是调用js里面的方法。
而只是把这句js代码输出到了由JSP生成的那个静态页面,也就是在JSP页面执行完,客户端得到这个页面之后,才会执行alert('123');
而你在JSP页面中用sendRedirect进行跳转,使得页面还在生成之中(即还在服务器端执行),就已经跳转到达另外的页面了,所以alert('123')没有执行。
你可以试一下out.flush()将out输出的内容发送到客户端,再调用JSP中的跳转。