表达式语言EL
1.EL表达式的作用
可以说,EL(Expression Language)表达式语言,就是用来替代<%= %>的,EL比<%=%>更简洁,更方便。
2.与请求参数有关的内置对象
1.使用表达式:<%=request.getParameter("name")%>
使用EL:${param.name}
2.<%=request.getParameterValues("intristing")[0]%>
使用EL:${paramValues. intristing [0]}
有属性有关的内置对象有四个<四个作用域>
-- pageScope:页面范围,即pageContext范围
-- requestScope:请求范围
-- sessionScope:会话范围
-- applicationScope:上下文范围
获得名字为user的请求属性的pwd属性值
-- ${requestScope.user.userPwd}
-- 等同于
-- <%=((User)request.getAttribute("user")).getUserPwd()%>
${user.pwd}
-- 当不指定范围时,将自动从pageScope开始查找,直到applicationScope,如果没查到,则什么也不显示
3.与请求头有关的内置对象
header:输出某一个请求头的值。一般是GET或者POST
${header.accept} 输出请求头accept的值
headerValues:如果某个请求头的值有多个,则使用headerValues返回一个数组。
${headerValues.cookie[0]}
4.其他两个内置对象
${cookie.USERNAME.value}
${initParam.path}
5.最特殊的内置对象:pageContext
可以通过如下EL调用该方法:
${pageContext.request}
EL运算符
1.算术运算符
-- ${19+2}
-- ${19-2}
-- ${19*2}
-- ${19/2}
-- ${19%2}
2.比较运算符
EL中有6种比较运算符,可以对值进行比较,返回值为true或fasle。
-- == 或eq表示等于
-- != 或ne表示不等于
-- < 或lt表示小于
-- > 或gt表示大于
-- <= 或le表示小于等于
-- >= 或ge表示大于等于
3.逻辑运算符
EL中提供了3个逻辑运算符,可以对boolean类型的值进行运算,返回值为true或false。
-- &&或and表示交集,两个值都是true才返回true。
-- ||或or表示并集,两个值只要有一个是true,即返回true。
-- !或not表示非