EL表达式中的隐含对象

若是你对EL表达式基础不熟悉的话请看我前面的两篇博客: java

EL表达式语言(一)以及EL表达式语言(二) web

为了可以得到web应用程序中的相关数据,EL表达式中定义了一些隐含的对象。这些对象共有11个: 数组

隐含对象
对象类型
说明
pageContext
javax.servlet.jsp.PageContext
用于访问jsp内置对象
param
java.util.Map
包含页面全部参数的名称和对应值的集合
paramValues
java.util.Map
包含页面全部参数的名称和对应多个值的集合
header    
java.util.Map
包含每一个header名和值的集合
headerValues
java.util.Map
包含每一个header名和可能的多个值的集合
cookie
java.util.Map
包含每一个cookie名和值的集合
initParam  
java.util.Map
包含Servlet上下文初始请求参数名和对应值的集合
pageScope    
java.util.Map
包含page页面范围内的属性值的集合
requestScope
java.util.Map
包含request请求范围内属性值的集合
sessionScope
java.util.Map
包含session绘画范围内的属性值的集合
applicationScope
java.util.Map
包含application应用范围内的属性值的集合

一、PageContext对象的应用 cookie

    PageContext隐含对象用于访问JSP内置对象,如request、response、out、session、config和servletContext等,例如要访问当前session中的变量username可使用以下的表达式 session

    ${PageContext.session.username} app

二、param和paramValues对象的应用 jsp

    param对象用于获取请求参数的值。而若是一个参数名对应多个值时,则须要使用paramValues对象获取请求参数的值,在应用param对象时,返回的结果是字符串zai yingyong paramValues对象时,返回的结果是数组。 spa

    例如:在JSP页面中放置一个名为user的文本框,关键代码以下:
.net

<input type = "text" name = "user" id = "user">
    当表单提交以后,要获取user文本框的值,能够用一下表达式

    ${param.user} code

    若是在JSP页面放置一个复选框,则:

<input type = "checkbox" name = "hobby" value = "1" id = "hobby">1
<input type = "checkbox" name = "hobby" value = "1" id = "hobby">2
<input type = "checkbox" name = "hobby" value = "1" id = "hobby">3
    当表单提交以后,要获取hobby的值,可使用一下表达式

    ${paramValues.hobby[0]}${paramValues.hobby[1]}${paramValues.hobby[2]}

三、header和headerValues对象

    header对象用于获取HTTP请求的一个具体header值,可是在某些状况下,可能存在同一个header拥有多个不一样值,这时必须使用headervalue对象。

    例如:要获取HTTP请求的header的Host属性,能够用:

    ${header.host}或者${header[host]}

    可是若是要获取HTTP请求的header的Accept-Agent属性,则必须使用一下EL表达式

    ${header["user-agent"]}

四、cookie对象的应用

    cookie对象用于访问由请求设置的cookie名称,若是在cookie中已经设定了一个名为username的值,那么可使用${cookie.username}来获取cookie对象;可是若是要获取cookie中的值,则须要使用cookie对象的value属性。

    例如:使用response对象设置一个请求有效的cookie对象,而后使用EL表达式获取该cookie对象的值

        <% Cookie cookie = new Cookie("user","mr")

        response.addCookie(cookie);

        %>

        ${cookie.user.value}


EL语言概念到此结束。有兴趣的能够看一下子的实战~

相关文章
相关标签/搜索