1、EL表達式簡介
html
EL,Expression Language。java
EL主要做用:web
獲取數據:EL表達式主要替換jsp頁面中的腳本表達式,以從各類類型的web域中檢索Java對象、獲取數據。(某個web域中的對象,訪問JavaBean的屬性、訪問list集合、訪問map集合、訪問數組)數組
執行計算:利用表達式能夠在jsp頁面中執行一些基本的關係運算、邏輯運算和算術運算,以及在jsp頁面中完成一些簡單的邏輯運算。服務器
獲取web開發經常使用對象::EL表達式定義了一些隱式對象,利用這些隱式對象,web開發人員能夠很輕鬆的得到對web經常使用對象的引用,從而獲取這些對象中的數據。cookie
調用Java方法:EL表達式容許用戶開發自定義EL函數,以在jsp頁面中經過EL表達式調用Java類的方法。session
2、EL注意事項app
EL表達式是JSP2.0規範的一門技術,因此,若是想正確解析EL表達式,須要使用支持Servlet2.4或JSP2.0技術的web服務器。jsp
3、獲取域對象中的數據ide
使用EL表達式獲取數據語法:${標識符}。
EL表達式語句在指定的時候,會調用pageContext.findAttribute()方法,用標識符爲關鍵字,分別從page、request、session和application四個域對象中查找對象,找到則返回相應對象,找不到則返回""。
<%@page import="cn.vo.User"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>EL表達式</title> </head> <body> <h3>獲取域對象中的值</h3> <% request.setAttribute("name", "郭美美"); %> ${name} <h3>獲取域中數組的值</h3> <% request.setAttribute("str", new String[]{"哈哈","呵呵","嘻嘻","笨笨"}); %> ${str[3] } <h3>獲取域中List集合的值</h3> <% List<String> list = new ArrayList<String>(); list.add("哈哈"); list.add("呵呵"); request.setAttribute("list",list); %> ${list[0]} <h3>獲取域中Map集合的值</h3> <% Map<String,String> map = new HashMap<String,String>(); map.put("aa", "哈哈"); map.put("bb", "呵呵"); request.setAttribute("map",map); %> ${map.aa } <h3>獲取域中List集合的對象</h3> <% List<User> u = new ArrayList<User>(); u.add(new User("哈哈","呵呵",new Date())); u.add(new User("哈哈","呵呵",new Date())); request.setAttribute("u",u); %> ${u[0].username} ${u[1].password} </body> </html>
4、EL表達式的運算
5、獲取web開發經常使用對象
EL表達式定義了11個隱含對象,使用這些對象能夠很方便的獲取web開發中的一些常見對象,並讀取這些對象的數據。
語法:${隱式對象名稱} 得到對象的引用
隱式對象名稱 | 描述 |
pageScope | 表明page域中用於保存的Map對象 |
requestScope | 表明request域中用於保存的Map對象 |
sessionScope | 表明session域中用於保存的Map對象 |
applicationScope | 表明application域中用於保存的Map對象 |
隱式對象名稱 | 描述 |
param | 表示一個保存了全部請求參數的Map對象 |
paramValues | 表示一個保存了全部請求參數的Map對象,它對於某個請求參數,返回的是一個String[] |
其實,param至關於getParameter();而paramValues相等於getParameterValues();
隱式對象名稱 | 描述 |
header | 獲取請求頭的信息 |
headerValues | 獲取請求頭的信息 |
隱式對象名稱 | 描述 |
cookie | 表示一個保存了全部cookie的Map對象 |
隱式對象名稱 | 描述 |
initParam | 表示一個保存了全部web應用初始化參數的Map對象 |
隱式對象名稱 | 描述 |
pageContext |
對應於jsp頁面中的pageContext對象 |