一、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>
結果