JSPEL簡介
1、語法結構
${expression}
2、運算符
EL提供“.“和“[]“兩種運算符來存取數據。
當要存取的屬性名稱中包含一些特殊字符,如.或?等并非字母或數字的符号,就一定要使用“[]“。例如:
${user.My-Name}應當改為${user["My-Name"]}
如果要動态取值時,就可以用“[]“來做,而“.“無法做到動态取值。例如:
${sessionScope.user[data]}中data是一個變量
3、變量
EL存取變量數據的方法很簡單,例如:${username}。它的意思是取出某一範圍中名稱為username的變量。
因為我們并沒有指定哪一個範圍的username,所以它會依序從Page、Request、Session、Application範圍查找。
假如途中找到username,就直接回傳,不再繼續找下去,但是假如全部的範圍都沒有找到時,就回傳null。
屬性範圍在EL中的名稱
Page PageScope
Request RequestScope
Session SessionScope
Application ApplicationScope
特别強調
1、注意當表達式根據名稱引用這些對象之一時,返回的是相應的對象而不是相應的屬性。例如:即使現有的pageContext屬性包含某些其他值,${pageContext}也返回PageContext對象。
2、注意<%@pageisELIgnored="true"%>表示是否禁用EL語言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中默認的啟用EL語言。