EL是JSP标准的一部分,不用引用外包,可以大幅度地在JSP上减少JAVA代码,具有广泛的应用。EL具有表达式一样的输出功能,另外还有简单运算,访问对象的功能。Tomcat6.0以后才能使用EL.
例:下面两段代码是一样的。
User user = (User) session.getAttribute("user");
String sex =user.getSex();
out.println(sex);
${sessionScope.user.sex}
EL基本运算符
. [],点和中括号-对应数据存取的运算符,[]可以动态取值,因为它可以放变量。
${sessionScope.user.sex}
//等价于
String str="sex";
${sessionScope.user[str]}
‘\’跟'${}',则可以网页上显示该形式的字符串。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EL表达式语言测试</title>
</head>
<body>
EL关系运算符演示<hr>
例子:<br>
\${5==5} 结果为 ${5==5}<br>
\${5!=5} 结果为 ${5!=5}
\${empty A} 结果为 ${empty A }
</body>
</html>

image.png
基它运算符就不在这一一举例,倒处都可查阅。
EL数据访问
在EL中,对象有4个不同的作用域。
对象的访问域
pageScope java.util.Map 取得page范围的属性名称所对应的值
requestScope
sessionScope
applicationScope
例:application,session的数据的EL获取
scopeTest1.jsp
<body>
<%
application.setAttribute("applicationMsg","Welcome Application!!!");
session.setAttribute("sessionMsg", "Welcome session!!");
%>
<a href="/el/scopeTest2.jsp">到达获取值页</a>
</body>
scopeTest2.jsp
<body>
EL获取application,session保存的数据<br>
application: ${applicationScope.applicationMsg} <br>
application: ${applicationMsg} <br>
session: ${sessionScope.sessionMsg}<br>
session: ${sessionMsg}
</body>

image.png