EL表达式是Java EE的一个标准,JSP页面是支持EL表达式的,虽然说随着MVC框架的兴起,出现了很多功能比EL表达式更加强大的表达式,但是,对于一些老工程来说,你还是不得不使用EL表达式。EL表达式包括了相关符号、支持的数据类型、运算符以及隐藏对象。
EL表达式相关符号
EL表达式相关符号只有3个:$、{}、.
- $:表示是一个EL表达式
- {}:表示这是一个表达式
- .:用于访问对象的属性
EL表达式支持的数据类型
EL表达式支持整型、浮点型、布尔类型、String和null这5种数据类型。
EL表达式支持的运算符
EL表达式支持常用的关系运算符、逻辑运算符
关系预算符:>(gt)、<(lt)、>=(ge)、<=(le)、==(eq)
逻辑运算符:&&(and)、||(or)、!(not)
EL表达式内置隐藏对象
对象名称 | 使用方式 | 作用 |
param | ${param.name} | 等价于request.getParameter(name);取得一个参数 |
paramValues | ${paramValues.name} | 等价于request.getParameterValues(name);取得一组参数 |
header | ${header.name} | 等价于request.getHeader(name); |
initParam | ${initParam.name} | 等价于ServletContext.getInitParam; |
cookie | ${cookie.name.value} | 等价于request.getCookie(); |
pageScope | ${pageScope.name} | 等价于pageContext.getAttribute(name); |
requestScope | ${requestScope.name} | 等价于request.getAttribute(name); |
sessionScope | ${sessionScope.name} | 等价于session.getAttribute(name); |
applicationScope | ${applicationScope.name} | 等价于application.getAttribute(name); |
总结
总的来说,EL表达式勉强够用于小项目,不及Struts2中的OGNL强大,如果需要更强大的功能,建议去使用OGNL。