EL(expression language)

Posted 默默的看雨下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EL(expression language)相关的知识,希望对你有一定的参考价值。

EL(expression language)

简介

EL(表达式语言)可以方便访问Web常用对象的数据。在JSP2开始默认支持,可以避免使用jsp脚本语言,如<%=%>

作用

  1. 获取数据

  2. 执行运算

  3. 获取Web常用对象

  4. 调用java方法

使用

1.EL语法:${expression} 如 ${user}

2.EL提供 . 与 [ ] 两种方式来获取数据。如 ${user.name}

3.EL内置对象:
pageContext --- 代表该JSP的pageContext对象。
pageScope ---- 用于获取 page 范围的属性值。
requestScope --- 用于获取 request 范围的属性值。
sessionScope --- 用于获取 session 范围的属性值。
applicationScope --- 用于获取 application 范围的属性值。
paramValues、param --- 用于获取请求的参数值。
header、headerValues --- 用户获取http请求头的属性值。
initParam --- 用户获取请求Web应用的初始化参数。
cookie --- 用于获取指定的cookie值。

如 ${sessionScope.user} 相当于 jSP中的 <%=session.getAttribute("user")%>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    ${request.test}
    <%= request.getAttribute("test")%>
</body>
</html>

注意: 如果它要取得值为空,则其不会显示。而JSP会显示null

4.如果直接使用 ${user} 则其会从 page、request、session、Application中依次去取,如果取到了则直接回传,不在继续取下去。

Reference

http://www.cnblogs.com/xushuai123/archive/2013/03/24/2979711.html
http://blog.csdn.net/qwerasdf123/article/details/4189889

以上是关于EL(expression language)的主要内容,如果未能解决你的问题,请参考以下文章

EL(Expression Language)

EL(expression language)

EL(Expression Language)和JSTL标签(JSP Standard Tag Library)

Spring Bean Expression Language(EL)

java web006——表达式语言(Expression Language,EL)

Java EE Expression Language