1 EL表达式的四大作用域
分别是:
- pageContext
- request
- session
- application
作用域依次增大,作用域越大,就表明数据存储的层次越高,越持久。
EL表达式${}查询属性的时候可以省略作用域,但是如果不省略,则查找效率会更高。
${key}通过对应key值即可查找value值。 适合于非对象形式存储的键值对查找。
ps:内置对象
域对象
四大域分别对应四大域对象,也是el中的内置对象。
- pageScope
- requestScope
- sessionScope
- applicationScope
查找时可以指定域对象进行查找。
其他对象
- pageContext(ApplicationContext):
${pageContext.request.contextPath }代表web应用下的根,用这个作绝对路径项目的可移植性就很好。 - param(获取请求中的指定参数)(在一些需要用户输入的地方,可以用param获取参数)
- paramValues(获取所有的参数值,用于多选)返回数组
- initParam 获取初始化参数(初始化参数就是自己手动添加的,比如在web.xml中添加< context-param >)
2 EL访问Java Bean中的属性
适合查找对象存储形式。
通过${key.属性}来访问。
这个适用于访问存储于Java Bean对象中的值。
比如:
req.getSession().setAttribute(Constant.USER_SESSION, user);
将user对象存储于key为“userSession”的Session中保存。
然后只要通过
${userSession.userName}来读取即可。
这里userSession为key;而userName为user类中的属性值。