EL的概念
JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。
EL的作用
用于替换作用域对象.getAttribute("name");
3. EL的应用(获取基本类型、字符串)
既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null。
${scope.name}获取具体某个作用域中的数据
${name}获取作用域中的数据,主机查找{pageContext、request、session、application}
4. EL的案例
4.1创建不相同的键名
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
request.setAttribute("key","value1");
session.setAttribute("key2","value2");
application.setAttribute("key3","value3");
%>
<h2>通过作用域获取对象:</h2>
<h2><%=request.getAttribute("key")%></h2>
<h2><%=session.getAttribute("key2")%></h2>
<h2><%=application.getAttribute("key3")%></h2>
</hr>
<h2>通过El表达式获取数据:</h2>
<h2>${requestScope.key}</h2>
<h2>${sessionScope.key2}</h2>
<h2>${applicationScope.key3}</h2>
</h2>
<h2>通过El表达式2获取数据:</h2>
<!--通过EL表达式获取数据,${name}获取作用域中的数据,主机查找{pageContext、request,
session.application}-->
<h2>${key}</h2>
<h2>${key2}</h2>
<h2>${key3}</h2>
</body>
</html>
运行结果:我的路径是创建一个el文件夹,jsp文件名为Eldemo01
4.2创建相同的键名得到的结果
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
request.setAttribute("key111","value1");
session.setAttribute("key111","value2");
application.setAttribute("key111","value3");
%>
<h2>通过作用域对象获取</h2>
<h2><%=request.getAttribute("key111")%></h2>
<h2><%=session.getAttribute("key111")%></h2>
<h2><%=application.getAttribute("key111")%></h2>
</hr>
//因为有不同的对象所以还是会获取
<h2>通过el表达式获取数据</h2>
<h2>${requestScope.key111}</h2>
<h2>${sessionScope.key111}</h2>
<h2>${applicationScope.key111}</h2>
</hr>
//因为三个都是key111所以只能获取第一个值
<h2>通过el表达式2获取数据</h2>
<h2>${key111}</h2>
<h2>${key111}</h2>
<h2>${key111}</h2>
</body>
</html>
运行结果:
5.EL和JSP脚本的区别是用存取不存的数据判断
<%=request.getAttribute() %>没有找到返回null
${requestScope.name}没找到返回""
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
request.setAttribute("key111","value1");
session.setAttribute("key222","value2");
application.setAttribute("key333","value3");
%>
<h2>通过作用域对象获取</h2>
<%--获取的键不存在,返回为null--%>
<h2><%=request.getAttribute("key666")%></h2>
<h2><%=session.getAttribute("key666")%></h2>
<h2><%=application.getAttribute("key666")%></h2>
</hr>
<h2>通过el对象获取</h2>
<%--获取的键不存在,返回为null--%>
<h2>${requestScope.key666}</h2>
<h2>${sessionScope.key666}</h2>
<h2>${applicationScope.key666}</h2>
</body>
</html>
运行结果