概述
EL(Express Language)表达式可以嵌入在JSP页面内部,减少JSP脚本的编写,EL出现的目的是要代替JSP页面中脚本的编写。
EL从域中取出数据
EL最重要的作用是获得四大域中的数据,格式{pageContextScope.key}
EL获得request域中的值:{sessionScope.key}
EL获得application域中的值:${applicationScope.key}
代码示例
<%@ page import="com.itheima.domain.User" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %><%--
Created by IntelliJ IDEA.
User: 王海峰
Date: 2018/9/20
Time: 9:29
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
request.setAttribute("company","黑马程序员");
//存储一个对象
User user=new User();
user.setId(1);
user.setName("zhangsan");
user.setPassword("123");
session.setAttribute("user",user);
//存储一个集合
List<User> list = new ArrayList();
User user1 = new User();
user1.setId(2);
user1.setName("lsii");
user1.setPassword("1234");
list.add(user1);
User user2 = new User();
user2.setId(3);
user2.setName("wangwu");
user2.setPassword("12346");
application.setAttribute("list",list);
%>
<%=
request.getAttribute("company")
%>
<%
User sessionUser = (User) session.getAttribute("user");
out.write(sessionUser.getName());
%>
<%--使用EL表达式获得域中的值--%>
${requestScope.company}
${sessionScope.user.name}
${applicationScope.list[1]}
</body>
</html>
使用EL表达式全域查找
从最小的范围开始查找,也就是说不加域的范围,直接查找参数名称
EL获得pageContext域中的值 {key}
EL获得session域中的值:{key}