通过下面两个问题学习一下这个知识点:(下面代码都是写到jsp中的)
[color=red]第一个实验:[/color]
上面的脚本是无法正确执行的('i'未定义),int i;这句代码是在服务器端执行的,而alert(i)是浏览器在客户端执行的,这个要搞清楚。可以通过查看页面源代码理解一下。
[color=red]第二个实验:[/color]
上述代码同样无法正确执行:System.out.println(ii)这句是服务器端执行的,执行完成后将结果返回到客户端后才轮到var ii 执行 他的执行顺序优先于script脚本中的var ii执行。所以jsp将无法编译;
[color=red]
第三个问题:[/color]
上述代码可以正确执行,首先服务器端代码out.print(5+5)将会首先执行,将执行结果out.print(10)返回到界面,通过查看源代码可以知道服务器返回的结果在客户端的最终效果为:var ii = 10
[color=red]第一个实验:[/color]
<% int i;%>
<script>
alert(i);
</script>
上面的脚本是无法正确执行的('i'未定义),int i;这句代码是在服务器端执行的,而alert(i)是浏览器在客户端执行的,这个要搞清楚。可以通过查看页面源代码理解一下。
[color=red]第二个实验:[/color]
<script>
var ii;
</script>
<%System.out.print(ii)%>
上述代码同样无法正确执行:System.out.println(ii)这句是服务器端执行的,执行完成后将结果返回到客户端后才轮到var ii 执行 他的执行顺序优先于script脚本中的var ii执行。所以jsp将无法编译;
[color=red]
第三个问题:[/color]
<script>
var ii = '<% out.print(5 + 5)%>';
alert(ii)
</script>
上述代码可以正确执行,首先服务器端代码out.print(5+5)将会首先执行,将执行结果out.print(10)返回到界面,通过查看源代码可以知道服务器返回的结果在客户端的最终效果为:var ii = 10