您的位置:首页 > 编程语言 > Java开发

Java学习笔记:EL表达式

2017-11-01 18:52 155 查看
表达式语言,JSP2.0最重要的特性之一。
语法
EL表达式的结构:  ${ expression }
它也可以用来连接两个表达式:${a+b}${c+d}
关键字:

and
eq
gt
true
instanceof
or
ne
le
false
empty
not
lt
ge
null
mod
[]和.运算符
EL表达式可以返回任意类型的值。返回一个带有属性的对象可以使用[]或.运算符来访问该属性。

${object["propertyName"]}

${object.propertyName}
如果propertyName不是有效的Java变量名,既属性名称中含有特殊字符,只能用[]运算符。

${user["My-Name"]}
如果对象的属性碰巧返回带有属性的另一个对象,则既可以用[],也可以用.运算符来访问第二个对象的属性。

${pageContext["request"]["servletPath"]}

${pageContext.request["servletPath"]}

${pageContext.request.servletPath}

${pageContext["request"].servletpath}

EL隐式对象
表达式语言中含有11个隐式对象

pageScope
它将给定的属性名称与页面作用域中设置的值进行映射
requestScope
它将使用请求范围中设置的值映射给定的属性名称
sessionScope
它将使用在会话作用域中设置的值映射给定的属性名称
applicationScope
它将使用应用程序作用域中设置的值映射给定的属性名称
param
它将请求参数映射到单个值
paramValues        
它将请求参数映射到值的数组
header
它将请求头名称映射到单个值
headerValues
它将请求头名称映射到值数组
cookie
它将给定的cookie名称映射到cookie值
initParam
它映射初始化参数
pageContext
它提供对许多对象的访问请求,会话等。
参考示例
pageContext包含了所有jsp内置对象,如获取当前的ServletRequest:

${pageContext.request}
initParam用于获取上下文参数的值

${initParam.password}
param用于获取请求参数值

${param.userName}
paramValues可以获取一个请求参数的多个值

${paramValues.selectedOptions[0]}
header表示一个包含所有请求标题的Map

${header.connection}
cookie可以用来获取一个cookie

${cookie.jsessionid.value}

${cookie.jsessionid.path}

EL运算符

算术运算符
加法(+)、减法(-)、乘法(*)、除法(/)、取余/取模(%和mod)
逻辑运算符
和(&&和and)、或(||和or)、非(!和not)
关系运算符
等于(==和eq)、不等于(!=和ne)、大于(>和gt)、大于或等于(>=和ge)、小于(<和lt)、小于或等于(<=和le)
empty运算符
用来检某一个值是否为null或empty
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息