EL表达式的 11个隐含对象 介绍
程序员文章站
2024-01-20 16:52:10
...
一.获取数据的格式如下:
${EL隐含对象.关键字对象.属性}
${EL隐含对象.关键字对象}
二.EL隐含对象
1.pageContex:
相当于JSP页面中的pageContext对象(取的是pageContext对象)
2. pageScope(表示page域中用于保存属性的Map对象)
作用是从指定的page域中查找数据
<%
pageContext.setAttribute("name","aaa"); //Map
%>
${pageScope.name }
3.requestScope(表示request域中用于保存属性的Map对象)
作用是从request域中获取数据
<%
request.setAttribute("name","dhl"); //Map
%>
${requestScope.name }
4.sessionScope(表示session域中用于保存属性的Map对象)
作用是从session域中获取数据
<%
session.setAttribute("name","dhl"); //Map
%>
${sessionScope.name }
5.applicationScope(表示application域中用于保存属性的Map对象)
<%
application.setAttribute("name","dhl"); //Map
%>
${applicationScope.name }
6. param(表示一个保存了所有请求参数的Map对象)
<!-- http://localhost:8080/dhl.jsp?name=aaa -->
${param.name }
此表达式会经常用在数据回显上
模拟的应用场景是表单提交到后台校验没有通过,回到注册页面时的数据回显,即如下所示
<form action="${pageContext.request.contextPath }/servlet/RegisterServlet" method="post">
<input type="text" name="username" value="${param.username }">
<input type="submit" value="注册">
</form>
7.paramValues(表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[] )
<!-- http://localhost:8080/dhl.jsp?like=aaa&like=bbb -->
${paramValues.like[0] }
${paramValues.like[1] }
8.initParam(表示一个保存了所有web应用初始化参数的map对象 )
目标是获取web应用初始化参数
${initParam.xxx }
${initParam.root }
xxx和root是指servletContext中用于保存初始化参数的map的属性
9.cookie(表示一个保存了所有cookie的Map对象)
从cookie隐式对象中根据名称获取到的是cookie对象,获取值需要.value ,即如下所示:
${cookie.JSESSIONID.value }
10.header(表示一个保存了所有http请求头字段的Map对象)
目标是获得请求头, 含有"-"符合的,应使用[ ]获取,即如下所示:
${header.Accept }
${header["Accept-Encoding"] }
11.headerValues
测试headerValues时,如果头里含有“-”符号 ,例Accept-Encoding,则要写为headerValues[“Accept-Encoding”],headerValues 对象与 header 对象类似,都用于获取 HTTP 请求的一个具体header值。但是在某些情况下,可能存在同一个 header 拥有多个不同的值,这时就必须使用 headerValues 对象来解决问题.
如下所示: headerValues 对象获取 HTTP 请求的 header 的 user-agent 属性,EL 表达式写法如下:
${headerValues["user-agent"]}
运行结果如下:
[Ljava.lang.String;@16e347
推荐阅读
-
EL表达式的 11个隐含对象 介绍
-
如何在Java自定义标签中让自定义的标签属性正确接收EL表达式对象
-
如何在Java自定义标签中让自定义的标签属性正确接收EL表达式对象
-
EL表达式的隐式对象_动力节点Java学院整理
-
EL表达式及其11个使用对象(及jsp中的对象)实例介绍
-
EL表达式的隐式对象_动力节点Java学院整理
-
jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门
-
表达式语言EL(Expression Language)的11个内置对象
-
表达式语言EL(Expression Language)的11个内置对象
-
getParameter和getAttribute以及EL表达式中requestScope和param两个隐含对象的区别