jsp、el表达式的隐式对象 + 作用域

jsp 隐式对象 

config      jsp的配置信息
page        jsp自身对象(this)
exception   异常对象(isErrorPage=true)

response 响应
out      响应字符流

pageContext 页面作用域
request     请求作用域 变量类型 HttpServletRequest
session     会话作用域 (同一个客户端的多次请求)  HttpSession
application 应用作用域 变量类型 ServletContext (上下文)

    均有如下方法
    .setAttribute("名", 值);   // 设置
    Object 值 = .getAttribute("名"); // 获取
    Object 值 = .removeAttribute("名"); // 删除

作用域(Scope)

<%// 向page作用域存入内容
//    pageContext.setAttribute("name", "张三"); // 同一页面中的信息
    request.setAttribute("name", "李四");    // 一次请求有效的信息(例如servlet存入结果,jsp获取结果)
    session.setAttribute("name", "王五"); // 每个用户(浏览器)独有的信息(例如购物车信息)
    application.setAttribute("name", "赵六"); // 适合放全局信息(城市信息, 类别信息)
    %>

    <!-- 从page作用域获取内容-->
    <%= pageContext.getAttribute("name")%>
    <!--  从page作用域获取内容(推荐) -->
    ${pageScope.name}

    <!-- 从request作用域取-->
    <%= request.getAttribute("name")%>
    <!-- 从request作用域取(推荐)-->
    ${requestScope.name}

    <!-- 从session作用域取值 -->
    <%= session.getAttribute("name")%>
    <!-- 从session作用域取值(推荐) -->
    ${sessionScope.name}

    <!-- 从application作用域取值 -->
    <%= application.getAttribute("name")%>
    <!-- 从application作用域取值(推荐) -->
    ${applicationScope.name}

    <hr/>
    <!-- 在el表达式取作用域变量时,不加前缀,先搜索pageScope, 再搜索requestScope, 继续搜索sessionScope, 再搜索applicationScope-->
    ${name}

el 表达式隐式对象

pageScope              page作用域   类型是map集合
requestScope          request作用域 类型是map集合
sessionScope         会话作用域    类型是map集合
applicationScope    应用作用域   类型是map集合

param                      代表所有请求参数集合 类型是map集合
paramValues           代表所有请求参数集合(用来获取多值参数)

cookie                      代表请求中所有的cookie集合 map类型 
                                 key是cookie的name, value是cookie对象(name,value)

header                      获取请求头的内容 类型是map集合f
                                 key是请求头中key的名称

headerValues           获取请求头的内容(用来获取多值)

initParam                  每个jsp可以配置一个初始化参数

pageContext

猜你喜欢

转载自blog.csdn.net/Wolves_7/article/details/83033896