EL表达式的隐式对象是指在JSP页面中可以直接使用的一些对象,不需要通过Scriptlet或JSTL等语法进行声明或使用。EL表达式的隐式对象包括以下几种:
- pageScope:该隐式对象表示一个HashMap,在JSP页面中通过El表达式可以访问该HashMap中的值。
示例:
<%
pageContext.setAttribute("name", "Tom"); // 在page scope中设置值
%>
${pageScope.name} // 通过EL表达式取出page scope域属性
- requestScope:该隐式对象与pageScope类似,表示一个HashMap,在JSP页面中通过El表达式可以访问该HashMap中的值。
示例:
<%
request.setAttribute("name", "Tom"); // 在request scope中设置值
%>
${requestScope.name} // 通过EL表达式取出request scope属性
- sessionScope:该隐式对象与pageScope和requestScope类似,表示一个HashMap,在JSP页面中通过El表达式可以访问该HashMap中的值。与requestScope不同的是,sessionScope中的存储的值在整个session生命周期内都有效。
示例:
<%
HttpSession session = request.getSession();
session.setAttribute("name", "Tom"); // 在session scope中设置值
%>
${sessionScope.name} // 通过EL表达式取出session scope属性
- applicationScope:该隐式对象与pageScope、requestScope和sessionScope类似,表示一个HashMap,在JSP页面中通过El表达式可以访问该HashMap中的值。与sessionScope不同的是,applicationScope中的存储的值在整个应用程序生命周期内都有效。
示例:
<%
ServletContext application = request.getServletContext();
application.setAttribute("name", "Tom"); // 在application scope中设置值
%>
${applicationScope.name} // 通过EL表达式取出application scope属性
- param:该隐式对象表示一个Map对象,可以获得所有的HTTP请求参数,包括GET、POST以及cookie中的参数。
示例:
<form method="post">
<input type="text" name="username"/>
<input type="password" name="password"/>
<input type="submit" value="Login"/>
</form>
${param.username} // 取出表单提交的用户名
${param.password} // 取出表单提交的密码
- paramValues:该隐式对象表示一个Map对象,可以获得所有的HTTP请求参数,包括GET、POST以及cookie中的参数。与param不同的是,paramValues返回的是一个数组。
示例:
<form method="post">
<select multiple="multiple" name="city">
<option value="beijing">北京</option>
<option value="shanghai">上海</option>
<option value="guangzhou">广州</option>
<option value="shenzhen">深圳</option>
</select>
<input type="submit" value="Submit"/>
</form>
${paramValues.city} // 取出表单提交的城市名数组
- header:该隐式对象表示一个Map对象,在JSP页面中可以通过EL表达式访问HTTP请求头中的信息。
示例:
${header["User-Agent"]} // 取出User-Agent请求头字段
- headerValues:该隐式对象表示一个Map对象,在JSP页面中可以通过EL表达式访问HTTP请求头中的信息。与header不同的是,headerValues返回的是一个数组。
示例:
${headerValues["Accept-Encoding"]} // 取出Accept-Encoding请求头字段的所有值
以上是EL表达式的隐式对象的介绍与示例。总之,在JSP页面中,使用EL表达式隐式对象可以让我们更加容易地获取和设置不同作用域的属性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:EL表达式的隐式对象_动力节点Java学院整理 - Python技术站