日期:2014-05-18  浏览次数:20675 次

jsp中代码与js代码执行顺序
下面是一段jsp中的代码,我本来想先弹出个框,根据客户的选择,在做相应的处理。但是下面的代码是先执行了Logger.debug( " "do   something...... " ");才执行js的confirm判断。请教高手有没有解决的方法
out.print( " " <script   language= 'javascript '> " ");
out.print( " "if   (confirm( '还有   " "+deptNamess+ " "   协办部门未填写办理意见,您确定提交吗? '))   { " ");

Logger.debug( " "do   something...... " ");//先执行

out.print( " "}   else   { " ");
out.print( " "   window.location= 'xxx.jsp '; " ");
out.print( " "} " ");
out.print( " " </script> " ");

------解决方案--------------------
应该是先执行logger,在服务器端编译后,需要把流发送到客户端,js才会被解释。logger是在服务器段就执行完了的。
------解决方案--------------------
yangxiao_jiang(哈哈)说的对

另外,如果浏览器在解析HTML时,如果遇到 <script> 而没有找到 </script> 时,其间的javascript代码是不会被执行的
------解决方案--------------------
你的out.print是生成jsp页面,生成后才会执行js,顺序当然是那样了

1,你可以在最后弹出
2, 用两个方法代替的代码
3,分别执行你的方法。

你的意思是,用户选确认就显示数据之类,否则就转到另一个页面是不?
如果你用对话框并且一个页面
那么可能要用到ajax的

或者先加载了数据,但是不显示,那就是只用js控制就好了