EL表达式中11大隐含对象

首先,我们先来了解一下EL表达式中的11大隐含对象有哪些:

变量类型作用
pageContextPageContextImpl它可以获取jsp中的九大内置对象
pageScopeMap<String,Objexct>它可以获取pageContext域中的数据
requestScopeMap<String,Objexct>它可以获取Request域中的数据
sessionScopeMap<String,Objexct>它可以获取Session域中的数据
applicationScopeMap<String,Objexct>它可以获取servletContext域中的数据
paramMap<String,String>它可以获取请求参数
paramValuesMap<String,String>它可以获取请求参数的值,获取多个值使用
headerMap<String,String>它可以获取请求头的信息
headerValuesMap<String,String>可以获取请求头的信息,可以获取多个值的情况
cookieMap<String,Cookie>它可以获取当前请求的Cookie信息
initParamMap<String,String>它可以获取在web.xml中配置的<context-param>上下文参数

 

1.我们首先分析pageContext对象:(这里直接上代码来演示)

<body>
	1.协议:<br/>
		用表达式脚本来表示:<%= request.getScheme() %> <br/>
		用EL表达式来表示:${pageContext.request.scheme} <br/>
	2.服务器ip:<br/>
		用表达式脚本来表示:<%= request.getServerName()%> <br/>
		用EL表达式来表示:${pageContext.request.serverName }<br/>
	3.服务器端口:<br/>
		用表达式脚本来表示:<%= request.getServerPort() %><br/>
		用EL表达式来表示: ${pageContext.request.serverPort}<br/>
	4.获取工程路径:<br/>
		用表达式脚本来表示:<%= request.getContextPath() %><br/>
		用EL表达式来表示: ${pageContext.request.contextPath}<br/>
	5.获取请求方式:<br/>
		用表达式脚本来表示:<%= request.getMethod() %><br/>
		用EL表达式来表示: ${pageContext.request.method}<br/>
	6.获取客户端ip地址:<br/>
		用表达式脚本来表示:<%= request.getRemoteHost() %><br/>
		用EL表达式来表示: ${pageContext.request.remoteHost}<br/>
	7.获取会话的id编号:<br/>
		用表达式脚本来表示:<%= session.getId() %><br/>
		用EL表达式来表示: ${pageContext.session.id}<br/>
</body>

结果演示:

 

2.通过pageScope、requestScope、sessionScope、appicationScope来获取域中的数据。

 <%
  		pageContext.setAttribute("key3","pageContext");
  		request.setAttribute("key3","request");
  		session.setAttribute("key3","session");
  		application.setAttribute("key3","application");
  	 %>
  	 ${pageScope.key3} <br>
  	 ${requestScope.key3} <br>
  	 ${sessionScope.key3} <br>
  	 ${applicationScope.key3} <br>
  </body>

3.param和paramValues对象:

<body>
  	  用param对象来输出参数的值:<br/>
	  输出参数:${param}	<br/>
	  输出username的值:${param.username } <br/>
	  输出password的值:${param.password } <br/>
	  
	  用paramValues对象来输出参数的值:<br/>
	  输出参数:${paramValues}	<br/>
	  输出username的值:${paramValues.username[0] } <br/>
	  输出password的值:${paramValues.password[0] } <br/>
	  
	 如果一个键中有多个值:<br/>
	 用param输出参数:${param.hobby}<br/>
	 用paramValues输出参数:${paramValues.hobby[0]}<br/>
	 					  ${paramValues.hobby[1]}<br/>
						  ${paramValues.hobby[2]}<br/>
	 
  </body>

结果演示:

由此可发现,如果一个键中有多个值,比如获取多选框参数,param对象无法获取全部的内容,此时就需要用paramValues对象来获取。

 4.用header和headerValues来获取请求头信息

输出请求头信息:<br/>
    ${header}<br/>
    输出header中的Connection的值:${header.Connection }<br/>
    输出header中的User-Agent的值:${header["User-Agent"] }<br/>
    用headerValues来输出和paramValues输出基本一样,这里就不演示了<br/>

 结果:

 5.获取cookie信息

    获取cookie的名称:${cookie.JSESSIONID.name }<br/>
	获取cookie的值:${cookie. JSESSIONID.value}<br/>

结果:

 cookie后面我会详细介绍,这里就不详细演示了。

 

6.通过initParam来获取web.xml中配置的上下文参数。

我们先在web.xml中配置context-param参数:

<context-param>
  	<param-name>username</param-name>
  	<param-value>lisi</param-value>
  </context-param>
  <context-param>
  	<param-name>password</param-name>
  	<param-value>123456</param-value>
  </context-param>

 通过initParam来获取:

    通过initParam来获取web.xml中的context-param参数:${initParam}<br>
	获取usrname的值:${initParam.username}<br>
	获取password的值:${initParam.password}<br>

 结果:

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值