最近突然好奇,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代碼。