什么是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 提供".“和”[ ]"两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用"[ ]"。例如:
user.My−Name应当改为{user.My-Name}应当改为user.My−Name应当改为{user[“My-Name”]}
如果要动态取值时,就可以用"[ ]“来做,而”."无法做到动态取值。例如:
${sessionScope.user[data]}中data 是一个变量