1、EL简介
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
4) 搜索范围
- EL表达式用
${}
表示,可用在所有的HTML
和JSP
标签中作用是代替JSP
页面中复杂的JAVA
代码。- EL表达式可操作常量变量和隐式对象。最常用的隐式对象有
${param}
和${paramValues}
。
${param}
表示返回请求参数中单个字符串的值。${paramValues}
表示返回请求参数的一组值。pageScope
表示页面范围的变量。requestScope
表示请求对象的变量。sessionScope
表示会话范围内变量。applicationScope
表示应用范围的变量。<%@ pageisELIgnored="true"%>
表示是否禁用EL
语言,TRUE
表示禁止。FALSE
表示不禁止。JSP2.0
中默认的启用EL
语言。EL
语言可显示逻辑表达式如${true and false}
结果是false
关系表达式如${5>6}
结 果是false算术表达式如${5+5}
结果是10
- EL中的变量搜索范围是:
page
、request
、session
、application
点运算符.
和[]
都是表示获取变量的值。区别是[]
可以显示非词类的变量。