表达式语言(EL)
表达式语言是一种在JSP页面中使用的数据访问语言,通过它可以很方便地在JSP页面中访问应用程序数据。
使用EL访问数据
表达式语言的使用形式: ${expression}
表达式语言以$开头,后面是一对大括号,括号历史合法的EL表达式。
属性与集合元素访问运算符
属性访问运算符用来访问对象的成员,集合访问运算符用来检索Map、List或数组对象的元素。
- 1. 点号(.)运算符
点号运算符用来访问Map对象一个间的值或bean对象的属性值。 - 2. 方括号([])运算符
方括号运算符除了可以访问Map对象简直和bean的属性值外,还可以访问List对象和数据对象的元素。
如果属性名字中有特殊字符,则不能用点号运算符。
访问作用域变量
在JSP页面中,可以使用JSP表达式访问作用域变量,只需在EL中使用变量名即可。例如:${variable_name}
访问JavaBeans属性
使用表达式语言,通过点号表示法可以和方便的访问JavaBeans的属性,如:${employee.empName}。使用表达式语言,如果没有找到指定的属性就不会抛出异常,而是返回空字符串。
使用EL隐含变量
- pageContext变量
pageContext是PageContext类型的变量。PageContext类依次拥有request、response、session、out和servletContext属性,使用pageContext变量可以访问这些属性的属性。
${pageContext.request.method}。 - param和parmValues变量
param和parmValue变量是用来从请求中检索请求参数值。 - header和headerValues变量
header和headerValues变量是从HTTP请求投中检索值,它们运行机制与param和paramValues类似。 - cookie变量,使用EL的coolie隐含变量得到客户想服务器发回的Cookie数组。
- initParam变量:存储了Servlet上下文的参数名和参数值。
- pageScope、requestScope、sessionScope和applicationScope变量
它们用来访问不同作用域的属性。
EL运算符
算术运算符:+、-、*、/或div、%或mod对应加减乘除求余运算。
关系运算符:==或eq(相等);!=或ne(不等);<或lt(小于);>或gt(大于);<=或le(小于等于);>=或ge(大于等于)。
条件运算符:expression?expression1:expression2 。expression是一个Boolean表达式,入股值为true,则返回expression1的结果;如果expression的值为false,则返回expression2的结果。
empty运算符:使用格式为${empty expression}。判断expression得值是否为null。