国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

Jsp內置對象及EL表達式的使用

2019-11-15 01:17:30
字體:
來源:轉載
供稿:網友
jsp內置對象及EL表達式的使用

一、JSP的內置對象(9個JSP內置對象)

JSP的內置對象引用名稱   對應的類型request         HttpServletRequestresponse         HttpServletResponsesession         HttpSession(有開關的:page指令的session屬性的取值)application       ServletContextconfig         ServletConfigpage          this(當前Servlet對象)exception        java.lang.Throwable(有開關:page指令的isErrorPage屬性改為true)out           JspWriterpageContext       javax.servlet.jsp.PageContext非常重要

pageContext對象有三大作用:

1、本身是一個域對象,表示的域范圍是本頁面。

  同時還能操作其他三個域對象(PageContext ,ServletRequest, HttpSession,ServletContext)

  

  設置屬性:

    void setAttribute(String name,Object value)

    void removeAttribute(String name)

    Object getAttribute(String name)

  操作其他的三個域對象,設置屬性:

    void setAttribute(String name,Object value,int scope)

    void removeAttribute(String name,int scope)

    Object getAttribute(String name,int scope)    參數int scope是由PageContext類提供的靜態變量規定的。

    PageContext.PAGE_SCOPE:頁面范圍(是PageContext本身中的那個Map,代號page)

    PageContext.REQUEST_SCOPE:請求范圍(是ServletRequest中的那個Map,代號request)

    PageContext.SESSION_SCOPE:請求范圍(是HttpSession中的那個Map,代號session)

    PageContext.APPLICATION_SCOPE:請求范圍(是ServletContext中的那個Map,代號application)Object findAttribute(String name):依次按照page,request, session ,application范圍搜索指定名稱的對象,找到為止。

                 EL表達式便是調用了此方法(非常有用)

2、獲取其他8個隱式對象

3、提供了轉發和包含的方便方法 

 若不用pageContext對象:

  RequestDispatcher rd = request.getRequestDispatcher("/url");

  rd.forward(request,response);

 用pageContext對象:  pageContext.forward("url");

  pageContext.include("url");

四大域對象(兩個資源之間互傳數據)

JSP中隱式對象的名稱  范圍名稱      具體的類型

pageContext      page      javax.servlet.jsp.PageContextrequest        request     javax.servlet.ServletRequestsession        session     javax.servlet.http.HttpSessionapplication      application    javax.servlet.ServletContext (如果使用,必須同步處理)

二、EL表達式

它只是JSP中的表達式,不是一種開發語言。

基本語法:${EL表達式}

1. 獲取數據

EL表達式只能獲取四大域中的數據。

EL表達式獲取的對象如果是null,頁面不會顯示數據。因此,EL表達式中永遠不會出現空指針異常

"."運算符:

${p.name}:調用域中名稱為p對象的getName方法,點運算符是用于獲取屬性的取值的。[]運算符:

(.運算符能做的,[]也能做。[]能做的,.不一定能做)

比如${p.name}===${p['name']}==${p["name"]}優秀在可以取不符合Java命名規范的東東。

2. 數學邏輯運算:

empty運算符:如果判斷的對象是null或者空字符串,都返回true。

       對于集合,即使集合對象本身不是null,沒有任何元素,也返回true。EL表達式不支持字符串連接操作。

三、EL內置對象(11大EL內置對象)

獲取JSP的內置對象(11大EL內置對象):難點,不要與JSP的內置對象和范圍名稱搞混

11大EL隱式對象中,其中一個是表示自身對象外,其余都是表示的Map結構EL隱式對象名稱     Java類型            備注

pageContext  javax.servlet.jsp.PageContext  與JSP中的內置對象完全相同

剩余的都是代表的Map集合

pageScope      java.util.Map      代表著PageContext頁面范圍域那個Map

requestScope    java.util.Map      代表著ServletRequest請求范圍域那個Map

sessionScope     java.util.Map      代表著HttpSession會話范圍域那個Map

applicationScope  java.util.Map      代表著ServletContext應用范圍域那個Map

param        java.util.Map      代表著請求參數。key:請求參數的名稱。value:請求參數的值,它是一個字符串。

paramValues     java.util.Map      代表著請求參數。key:請求參數的名稱。value:請求參數的值,它是一個字符串數組。

header        java.util.Map      代表著請求消息頭。key:頭名稱。value:頭值,它是一個字符串。

headerValues     java.util.Map      代表著請求消息頭。key:頭名稱。value:頭值,它是一個字符串數組。cookie        java.util.Map      代表客戶端提交的Cookie的Map。key:cookie的name。value:cookie對象本身

initParam       java.util.Map      代表著全局初始化參數(web.xml中context-param).key:參數名稱。value:參數值


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北碚区| 二连浩特市| 平原县| 时尚| 阳原县| 保亭| 菏泽市| 庆云县| 来凤县| 德清县| 武平县| 丁青县| 建宁县| 平果县| 博爱县| 镇赉县| 西乡县| 鱼台县| 大英县| 遂昌县| 宜城市| 宽甸| 进贤县| 翼城县| 东台市| 华容县| 简阳市| 宜兰市| 金坛市| 林口县| 新巴尔虎左旗| 富蕴县| 吉隆县| 库伦旗| 年辖:市辖区| 衡水市| 颍上县| 改则县| 荔波县| 江口县| 炉霍县|