JavaWeb——JSP 的 EL
二、EL 隐含对象
- EL 提供了类似 JSP 的内置对象的 11 个隐含对象,这些隐含对象可以划分为页面上下文对象、访问作用域范围的隐含对象和访问环境信息的隐含对象。
1、页面上下文对象
- 页面上下文对象为pageContext,用于访问 JSP 的内置对象中的 request、response、out、session、exception、page 以及 servletContext;获取这些内置对象后就可以获取相关属性值。
<h2>1、页面上下文对象</h2> <b>1.1、访问 request 对象</b><br> ${pageContext.request.serverPort}<br> <b>1.2、访问 response 对象</b><br> ${pageContext.response.contentType}<br> <b>1.3、访问 out 对象</b><br> ${pageContext.out.bufferSize}<br> <b>1.4、访问 session 对象</b><br> ${pageContext.session.maxInactiveInterval}<br> <b>1.5、访问 exception 对象</b><br> ${pageContext.exception.message}<br> <b>1.6、访问 servletContext 对象</b><br> ${pageContext.servletContext.contextPath}<br>
- 页面显示如下:
2、访问作用范围的隐含对象
- EL 提供了 pageScope、requestScope、sessionScope 和 applicationScope 共四个用于访问作用域范围的隐含对象。
2.1、pageScope
- pageScope 隐含对象用于返回包含页面范围在内的属性值的集合,返回值为 java.util.Map 对象,示例如下:
- 首先创建一个名称为 StudentInfo 的 JavaBean,代码如下:
//IntelliJ IDEA //JavaWebProject1 //StudentInfo //2019/12/7 // Author:御承扬 //E-mail:2923616405@qq.com package com.lyq.bean; public class StudentInfo { private String ID; private String name; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setID(String ID) { this.ID = ID; } public String getID() { return ID; } }
- 在 JSP 页面编辑如下代码:
h3>2.1、pageScope</h3> <jsp:useBean id="student" class="com.lyq.bean.StudentInfo" type="com.lyq.bean.StudentInfo"> <jsp:setProperty name="student" property="ID" value="201724073169"/> <jsp:setProperty name="student" property="name" value="Lucy"/> </jsp:useBean> \${pageScope.student.ID}: ${pageScope.student.ID}<br> \${pageScope.student.name}: ${pageScope.student.name}<br>
- 效果:
2.2、requestScope
- requestScope 隐含对象用于返回包含请求范围内的属性值的集合,返回值同样是 java.util.Map 对象。
- 示例:
<h3>2.2、requestScope</h3> <% request.setAttribute("author", "御承扬"); %> \${requestScope.author}: ${requestScope.author}<br>
- 效果:
- sessionScope 和 applicationScope 的使用方式同上面类似。
3、访问环境信息的隐含对象
- EL 中有如下 6 个用于访问环境信息的隐含对象。
- param 对象用于获取请求参数的值,适用于参数值只有一个的情况;
- paramValues 用于获取参数值不单一的;
- header 和 headerValues 同上面类似;
- initParam 用于获取 Web 应用初始化参数的值;
- cookie 用于获取 cookie 对象的值。