表达式语言EL

表达式语言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表示非