JSP中,调用了JS方法,然后跳转,JS方法不执行。怎么办?

访问一个JSP文件,里面有这么一段:
out.println("alert('123');");

然后,用JSP的任意一种跳转,比如sendRedirect,forward等,跳到新页面。但是我调的这个JS方法是不会执行的。为什么?怎么办?谢谢。
而在JS里面用location.href跳转才有用,但是我这里不能这么用。

[b]问题补充:[/b]
明白的。 不过。用了flush,就不能再用response和request等进行跳转了。这样就不好办了。

1个回答

[code="java"]out.println("alert('123');"); [/code]

这句话,不是调用js里面的方法。
而只是把这句js代码输出到了由JSP生成的那个静态页面,也就是在JSP页面执行完,客户端得到这个页面之后,才会执行alert('123');

而你在JSP页面中用sendRedirect进行跳转,使得页面还在生成之中(即还在服务器端执行),就已经跳转到达另外的页面了,所以alert('123')没有执行。

你可以试一下out.flush()将out输出的内容发送到客户端,再调用JSP中的跳转。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问