【EL表达式】EL从四大域中取数据

一、EL技术

1.EL 表达式概述

EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中脚本的编写。

                                                                                              

2.EL从域中取出数据(EL最重要的作用)

EL最主要的作用是获得四大域中的数据,格式${EL表达式}

EL获得pageContext域中的值:${pageContextScope.key};

EL获得request域中的值:${requestScope.key};

EL获得session域中的值:${sessionScope.key};

EL获得application域中的值:${applicationScope.key};

EL从四个域中获得某个值${key};

---依次从pageContext域,request域,session域,application域中获取属性,在某个域中获取后将不在向后寻找

 

示例:

1)EL获得普通字符串

2)EL获得User对象的值

3)EL获得List<User>的值

 

代码:

el.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ page import="domain.*"%>
 4 <%@ page import="java.util.*"%>
 5 
 6 <!DOCTYPE html>
 7 <html>
 8 <head>
 9 <meta charset="UTF-8">
10 <title>Insert title here</title>
11 </head>
12 <body>
13 
14     <%
15         //存储字符串
16         request.setAttribute("company", "黑马程序员");
17 
18         //存储一个对象
19         User user1 = new User();
20         user1.setId("1");
21         user1.setName("Zhangsan");
22         user1.setPassword("123");
23         session.setAttribute("user", user1);
24 
25         //存储一个集合
26         List<User> list = new ArrayList<User>();
27         User user2 = new User();
28         user2.setId("2");
29         user2.setName("lisi");
30         user2.setPassword("123");
31         list.add(user2);
32         User user3 = new User();
33         user3.setId("3");
34         user3.setName("wangwu");
35         user3.setPassword("123");
36         list.add(user3);
37         application.setAttribute("list", list);
38     %>
39 
40     <!-- 脚本方式 获得域中的值-->
41     <%=request.getAttribute("company")%>
42     <%
43         User sessionUser = (User) session.getAttribute("user");
44         out.write(sessionUser.getName());
45     %>
46 
47     <hr />
48     <!-- 使用EL表达式获得域中的值-->
49     ${requestScope.company} 
50     ${sessionScope.user.name}
51     ${applicationScope.list[1].name}
52     
53     <!-- 使用el表达式 全域查找-->
54     ${company} 
55     ${user.name}
56     ${list[1].name}
57 
58 </body>
59 </html>

 

结果

http://localhost:8080/WEB18/el/el.jsp

posted @ 2019-08-01 16:49  musecho  阅读(2530)  评论(0编辑  收藏  举报