el表达式的11个内置对象分别是:
首先大家要知道el在查找数据的时候的域顺序是 page-->request-->session-->application;
从小到大,而直接${xxx} 这样就是全域查找,碰到那个xxx就返回值。
1.pageScope
作用:在pageContext域对象中去获取值;
用法:${pageScope.xxx}
2.requestScope
作用:在request域对象中去获取值;
用法:${requestScope.xxx}
3.sessionScope
作用:在session域对象中去获取值;
用法:${sessionScope.xxx}
4.applicationScope
作用:在application域对象中去获取值;
用法:${applicationScope.xxx}
5.param
作用:用于在页面接收参数,类似于request.getAttribute(),获取出来是单值,就是说你传个数组来,我只能接受到第一个值。
用法:${param.xxx}
6.paramValues
作用:同样用于在页面接收参数,同样类似于request.getAttribute(),获取出来就是多值。
用法:${param.xxx}
7.header
作用:用于获得请求头中的值;
用法:${header['User-Agent']};
其实前面的都可以使用这种取值的方法,可是直接${xxx}比较方便,像${pageScope['xxx']}就好麻烦。。。
在这里采用这种取值方法是因为在这个头名中的那个横线-,会被当作运算符去做运算,会出错,所以采用${header['User-Agent']};
而不是${header.User-Agent};
8.headerValues
同上。。。
9.initParam
作用:可以获得在web.xml中配置的<context-param>中的值;
用法:<context-param>
<param-name>name</param-name>
<param-value>tom</param-value>
</context-param>
${initParam.name}就可以得到tom了。
10.cookie
作用:得到cookie的值,
用法:${cookie.JSESSIONID.value}
因为cookie.JSESSIONID得到的是一个cookie对象,所以需要.value才能得到cookie的值。
11.pageContext
作用:例如:获得其他的域,操作其他的域。
用法:
例如:${pageContext.session.id}
得到session并且得到session的id
以上只是对el的11个内置对象的初步介绍~如果有错误请指出,小弟感激不尽,谢谢~