JSTL語法結構是${expression},它必須以 “${”開始,以“}”結束,中間的expression就是EL表達式的內容。表達式包含變量、文字常量、操作符。
EL表達式提供點運算符(.)和方括號運算符([])兩種運算符存取數據,這兩種運算符可以實現某種程度的互換,通常使用點運算符。但是當遇到以下兩種情況時,就不能用點運算符而必須用方括號運算符
(1)、要存取的屬性名稱中包含一些非字母或數字的符號(如包含了.或?等
(2)、要動態取值
變量:
存取變量數據:${變量名}
如:${username},意爲取出某一範圍中名稱爲username的變量
默認的取值範圍是page域,若page中沒有指定的變量,就會依序從page、request、session、application中查找,如果途中找到就返回該變量;如果找不到,就會回傳null
文字常量:
包括任何由單引號或雙引號引起來的字符串,十進制、十六進制、八進制的整型值和浮點型的數字,包括true和false的布爾值和NULL
操作符:
算術運算符、關係運算符、邏輯運算符、驗證運算符empty與條件運算符
其中算術運算符、關係運算符和邏輯運算符都與java中的用法意義相同。
驗證運算符:
empty運算符:empty作爲前綴,用來檢索指定變量值是否爲null或者empty
條件運算符?:${條件?truevalue :falsevalue},如果條件爲真,則表達式的值爲truevalue,否則爲falsevalue