最近突然好奇,js与jsp的执行顺序:
先看一段程序:
<html>
<head>
<script type="text/javascript">
var value = <%= request.getParameter("number")%>; //上一个jsp中穿过来的
alert(value);
</script>
</head>
<body>
</body>
</html>
这段程序是在js中插入jsp语句,可以正常的执行;
再看下面一段程序:
<html>
<head>
<title></title>
<script>
function loading()
{
document.write("JavaScript输出");
}
</script>
</head>
<body onLoad="loading()">
<%="jsp输出"%>
</body>
</html>
这段程序在浏览器访问的时候只会显示
JavaScript输出
因为:
<%="jsp输出"%>这是jsp中的嵌入java程序,是在服务器端运行的;
因此,我们可以总结出js与jsp 的执行顺序是,先在服务器端将jsp语句运行完成后再插入到js中,再由浏览器来执行js程序;
js可以使用java的变量,但是java不可以使用js的变量,一个jsp页面的编译顺序是,先编译java代码,然后再编译js代码。