EL語言表達式 (三)【EL中的算術運算以及判斷EL對象是否為空】


一、EL中的算術運算

EL和其他語言一樣,同樣也提供了基本的算術運算(加、減、乘、除和取余),如下圖。

運算符 功能 示例 結果
+ ${19+1} 20
- ${66-30} 36
* ${52.1*10} 521
/或者div

${5/2}或${5 div 2}

2.5

${9/0}或${9 div 0}

Infinity
%或者mod 取余 ${17%3}或${17 mod 3} 2
${15%0}或${15 mod 0} 將拋出異常:java.long.ArithmeticException:/by zero

注意:EL的“+”運算符與java的“+”運算符不同,它不能實現兩個字符串之間的連接,如果使用該運算符連接兩個不可以轉換為數值型的字符串,將拋出異常;如果使用該運算符連接兩個可以轉換為數值型的字符串,EL則自動將這兩個字符串轉換為數值型,再進行加法運算。


二、如何判斷EL中的對象是否為空

  判斷對象是否為空,可以通過empty運算符來實現,該運算符是一個前綴(prefix)運算符,即empty運算符位於操作數前方,用來確定一個對象或變量是否為null或空。empty運算符的格式如下:

  ${empty expression}

        參數說明:

         expression:用於指定要判斷的變量或對象。

例:定義兩個request 范圍內的變量user和user1,分別設置值為null和“”。代碼如下:

1 <%request.serAttribute("user","");%>
2 <%request.setAttribute("user1",null);%>

然后,通過empty運算符判斷user和user1是否為空,代碼如下:

1 ${empty user}        //返回值為true
2 ${empty user1}      //返回值為true

注意:一個變量或對象為null或空代表的意義是不同的。null表示這個變量沒有指明任何對象,而空表示這個變量所屬的對象其內容為空,例如,空字符串、空的數組或者空的List容器。

此外,empty運算符也可以與not運算符結合使用,用於判斷一個對象或變量是否為非空。

例如:要判斷request范圍中的變量user是否為非空可以使用一下代碼。

1 <%request.setAttribute("user","")%>
2 ${not empty user}        //返回值為false

 


免責聲明!

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



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