el表達式(運用el表達式直接獲取值時,例如,${msg},不需要為msg提供set get方法;但是當獲取對象的屬性值時,
例如,user.name,則必須為name屬性提供set get方法)是jsp相關的概念,是在服務端執行的,服務端執行完成后再傳給客戶端瀏覽器,js是在客戶端瀏覽器執行的,el在js前就已經被執行了。
EL、JSTL以及其他各種標簽是在服務端執行好后再通過網絡傳送給客戶端,瀏覽器客戶端收到后才會執行其中的js腳本。也就是說,el表達式生效的時候js代碼還全都是文本,等js生效的時候早就沒了el表達式了,你可以在瀏覽器中查看源代碼,你就會發現el標簽${}全沒了,都轉化為具體的值了。
jsp和js、html不是一個平面上的東西,它們不可能在同一個時刻同時執行,它們沒有任何交叉點。所以標題中“使用”兩個字采用雙引號,并不是js真正地使用el表達式,而是使用el表達式最終轉化的值。
類似的,對于js中“使用”java代碼,與使用el表達式是一個道理:JSP是先進行編譯把java代碼都編譯出來形成一張完整的頁面再發到客戶端,js只是在客戶端執行,等到js執行的時候其實js已經看不到java代碼了。
在js、html文件中不能直接使用el表達式以及java代碼(瀏覽器是識別不了jsp中el等標簽的:返回給客戶端的結果是JSP文件執行的結果,不包含任何JSP語法)。但是el表達式、java代碼、js腳本、jstl標簽等都可以在jsp文件中使用,所以要想在js代碼中使用el表達式的值或者是java代碼的值,可以通過jsp文件這樣一個橋梁,達到目的!
js寫在jsp文件里,jsp能用的標簽(el表達式、jstl標簽、java代碼等),js就能“用”;js單獨寫成一個文件,啥標簽都不能“用”,都沒效。不過一般不建議js使用亂七八糟的jsp標簽。
以上就是html可以用jstl標簽么的詳細內容,更多請關注 其它相關文章!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答