1. 程式人生 > >el學習之從四大域中取出資料以及執行表示式

el學習之從四大域中取出資料以及執行表示式

1.EL 表示式概述

EL(Express Lanuage)表示式可以嵌入在jsp頁面內部,減少jsp指令碼的編寫,EL  出現的目的是要替代jsp頁面中指令碼的編寫。

2.EL從域中取出資料

EL最主要的作用是獲得四大域中的資料,格式${EL表示式}

EL獲得pageContext域中的值:$(pageContextScope.key);

EL獲得request域中的值:$(request.key);

EL獲得session域中的值:$(session.key);

EL獲得application域中的值:$(application.key);

EL從四個域中獲得某個值$(key);

---同樣是依次從pageContext域,request域,session域,application域中     獲取屬性,在某個域中獲取後將不在向後尋找


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="cn.liangce.domain.User" %>
<%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<!-- 模擬域中的資料 -->
	<%
		//向域中儲存資料
		pageContext.setAttribute("姓名","iron man");
		//儲存字串
		request.setAttribute("姓名", "樑策");
		//儲存物件
		User user=new User();
		user.setId(1);
		user.setName("張三");
		user.setPassword("123");
		session.setAttribute("user", user);
		//儲存List集合
		List<String> list=new ArrayList<String>();
		list.add("貂蟬");
		list.add("李元芳");
		list.add("夢琪");
		application.setAttribute("list", list);
		
		//儲存list集合
		List<User>  list1=new ArrayList<User>();
		User user1=new User();
		user1.setName("雷神");
		user1.setPassword("錘子");
		user1.setId(1);
		list1.add(user1);
		application.setAttribute("list1", list1);
		
		Map<String,User>  map=new HashMap<String,User>();
		User user2=new User();
		user2.setName("浩克");
		user2.setPassword("班納");
		user2.setId(2);
		User user3=new User();
		user3.setName("鋼鐵俠");
		user3.setPassword("戰甲");
		user3.setId(3);
		map.put("first",user2 );
		map.put("second",user3);
		request.setAttribute("map", map);
	%>
		${requestScope.姓名}<br />
		${sessionScope.user.id } ${sessionScope.user.name }<br /> 
		${applicationScope.list[1]}<br /> 
		${applicationScope.list1[0].name }<br>
		-----------------------------------<br>
		<!-- 使用el全域尋找變數 -->
		${姓名 }<br>
		${user.name}<br>
		${list[1]}<br>
		${list1[0].name}<br>
		 
		<!-- el執行表示式 -->
		${1+1}
		${1==1?true:false}
		${empty list}
		
</body>
</html>

執行結果:

3.EL的內建物件

pageScope,requestScope,sessionScope,applicationScope

 ---- 獲取JSP中域中的資料

param,paramValues   - 接收引數.

header,headerValues   - 獲取請求頭資訊

initParam                    - 獲取全域性初始化引數

cookie                         -WEB開發中cookie

pageContext               - WEB開發中的pageContext.

$(pageContext.request.contextPath)獲得WEB應用的名稱