EL表達式的內置對象(待梳理)
EL共有11個內置對象:其中1-10是Map對象,11是PageContext對象
1.param:Map<String,String>類型,可以用來獲取參數,與request.getParameter()方法相同。
/rams?username=wubin,獲得username參數值
方式一:<% String username = request.getParameter("username") %>
方式二:${param.username} ==> param.get("username")
2.paramValues:Map<String, String[]>類型,同一參數名對應多個值(比如,checkbox)
/rams?interests=足球&interests=讀書
方式一:<% String username = request.getParameterNames("interests") %>
方式二:${paramValues.interests} ==> paramValues.get("interests")
3.header:Map<String,String>類型,用來獲取請求頭。
4.headerValues:Map<String,String[]>類型,同一個請求頭對應多值。
5.initParam:Map<String,String>類型,對應web.xml文件中的<context-param>參數。
${initParam.contextConfigLocation}
6.cookie:Map<String,Cookie>類型,key是Cookie的名字,而值是Cookie對象本身。
7.pageScope:Map<String,Object>類型,${pageScope.xxx}的功能相等與pageContext.getAttribute(“xxx”)。兩者的區別在於,前者在數據不存在時返回空字符串,而後者返回null。
8.requestScope:Map<String, Object>類型,裝載了request對象中的所有數據。
9.sessionScope:Map<String, Object>類型,裝載了session對象中的所有數據。
session.setAttribute===》attributes.put("user_session",user);
${sessionScope.user_session}===>attitudes.get("user_session")==>user
${sessionScope.user_session.username}==>user.getUsername()
10.applicationScope:Map<String, Object>類型,裝載了application對象中的所有數據。
當EL中給出的不是隱藏對象時,表示在四個域中查找數據。例如:${a},表示
①在${pageScope.a}中查找,如果找到就返回。
②在${requestScope}中查找,如果找到就返回。
③在${sessionScope}中查找,如果找到就返回。
在${applicationScope}中查找,如果找到就返回,找不到就返回空字符串。
11.pageContext:PageContext類型,pageContext.getRequest,可以${pageContext.request}。
PageModel pageModel = service.find();
request.setAttribute("pageModel");
i.取出pageModel對象
${pageModel}==>pageModel對象
ii.取出pagesize屬性
${pageModel.pagesize}==>pageModel.getPagesize()
ii.取出響應的列表:list屬性
${pageModel.list}==>pageModel.getList()
EL表達式的內置對象(待梳理)