EL表達式語言

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表達式的運算

wKiom1jMw7ril4yXAAGDowycneo993.png

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對象
相關文章
相關標籤/搜索