天天看點

JSP(五)——EL表達式

什麼是EL表達式?

EL表達式全稱為Expression Language,其建立的目的是為了讓JSP寫起來更簡單。EL表達式是對page、request、session、application四大作用域中的變量進行操作的語句。

文法結構

${expression}

EL存取變量

EL存取變量資料的方法很簡單,例如:${username}。它的意思是取出某一範圍中名稱為username的變量。

因為我們并沒有指定哪一個範圍的username,是以它會依序從Page、Request、Session、Application範圍查找。

假如途中找到username,就直接回傳,不再繼續找下去,但是假如全部的範圍都沒有找到時,就回傳""(空)。

四大作用域在EL表達式中的名稱

Page —— PageScope

Request —— RequestScope

Session —— SessionScope

Application —— ApplicationScope

例如取出page域的某一變量usernameEL表達為${PageScope.username},其變量也可會對象,通過對象的方法或者屬性擷取方式擷取對應

[ ]與.運算符

EL 提供".“和”[ ]"兩種運算符來存取資料。

當要存取的屬性名稱中包含一些特殊字元,如 . 或 - 等并非字母或數字的符号,就一定要使用"[ ]"。例如:

u s e r . M y − N a m e 應 當 改 為 {user.My-Name}應當改為 user.My−Name應當改為{user[“My-Name”]}

如果要動态取值時,就可以用"[ ]“來做,而”."無法做到動态取值。例如:

${sessionScope.user[data]}中data 是一個變量