el學習之從四大域中取出資料以及執行表示式
阿新 • • 發佈:2019-01-07
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應用的名稱