EL表达式的内置对象(待梳理)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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表达式的内置对象(待梳理)的主要内容,如果未能解决你的问题,请参考以下文章

jsp内置对象和el表达式内置对象误区

EL表达式的11个内置对象

EL11个内置对象

EL——表达式概述运算内置对象

7.2{JSTL标签库}(EL的内置对象)(EL的执行表达式)

EL表达式的11个内置对象