EL表达式的 11个隐含对象 介绍

一.获取数据的格式如下:

${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

发布了31 篇原创文章 · 获赞 3 · 访问量 1126

猜你喜欢

转载自blog.csdn.net/Beyond_Nothing/article/details/105734187