js中使用EL表達式總結


1.js中使用el表達式要加雙引號或單引號:'${list}'


2.js變量獲取el表達式中的對象:不能直接獲取,直接獲取得到的是該對象的toString值。


有兩種方法:
一:el中直接寫對象的屬性var abc = '${list[0].index}';--------如用js數組變量裝el表達式對象的每一個屬性

二:先把對象轉換成json再把json轉換成對象賦值給js變量。

 

  • js控制中用到了el表達式,最開始源碼如下:

  • varselected = ${requestScope.xxxxForm.recordNumPerPage}

這樣始終js錯誤,因為在第一次的時候requestScope.xxxxForm.recordNumPerPage為null。

  • 於是在boss的指導下,簡單的加了兩個引號,代碼變成

  • var selected = “${requestScope.xxxxForm.recordNumPerPage}”

功能自動實現。 

總之,在js中使用el表達式一定要使用雙引號。

如果${sessionScope.userName}從服務器端獲取到的值是張三,那么最終瀏覽器解釋執行得到的就是如下這樣的結果

var message = 張三;

這樣肯定是不行的,javascript中字符串肯定是要用引號引起來的,像var message = "張三";或者是像var message = '張三';這樣才對,所以這下知道為什么在javascript中使用el表達式一定要用引號引起來了吧,不管是單引號還是雙引號,總之就是要用引號引起來。

像alert(${sessionScope.userName});這種寫法瀏覽器最終解釋執行得到的結果就是alert(張三);所以這樣寫肯定會有問題,只有alert("${sessionScope.userName}");這樣寫或者alert('${sessionScope.userName}');這樣寫才可以,瀏覽器最終解釋執行得到的結果就是alert("張三");和alert('張三');

還有就是如果${sessionScope.age}從服務器取出的是一個數字呢?比如${sessionScope.age}從服務器取出的值是16,那么要不要加引號呢?

alert(${sessionScope.age});瀏覽器最終解釋執行得到的結果就是alert(16);你們自己想想,javascript的語法中,數字要不要加引號呢?,在javascript中定義一個數字類型的變量像var age =16;這樣寫是沒有任何問題的,然后alert(age);可以正常彈出16,沒問題,如果我們像var age = "16" 或者像var age = '16'這樣寫呢?也沒問題,只不過這里加了引號的16就是一個字符串了。所以不管EL表達式從服務器上取到的值是字符串的還是數字,最好都加上引號,這樣做比較保險,也比較省事,不管是單引號還是雙引號,總之加上引號肯定沒問題。如果EL表達式從服務器上取到的值是數字,在javascript中給這個數字加上引號也沒關系,如果客戶端要用這個加了引號的數字做數學運算,我們可以利用javascript中的函數把這個加了引號的數字轉換成數字類型再做運算! 比如var age = "${sessionScope.age}" ,瀏覽器解釋執行后得到的結果是var age = "16";大不了我們在客戶端利用javascript的轉換函數,把age = "16"從字符串類型轉換為數字類型再做數學運算即可!

VAR   [va:(r)]   詳細 X
基本翻譯
n. (Var)人名;(法、俄)瓦爾;(柬)瓦
abbr. 加值型經銷商(value-added reseller);垂直機載火箭(Vertical Aircraft Rocket)
網絡釋義
var: 瓦爾省
var left: 方框左位置
var top: 方框上位置

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM