成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

[應(yīng)用篇]第一篇 EL表達(dá)式入門

李文鵬 / 3597人閱讀

摘要:概念表達(dá)式全名為,就是為了替代腳本表達(dá)式。作用獲取數(shù)據(jù)表達(dá)式主要用于替換頁面中的腳本表達(dá)式,以從各種類型的域中檢索對象獲取數(shù)據(jù)。調(diào)用方法表達(dá)式允許用戶開發(fā)自定義函數(shù),以在頁面中通過表達(dá)式調(diào)用類的方法。

概念

EL表達(dá)式:EL 全名為Expression Language,就是為了替代<%= %>腳本表達(dá)式。

作用

獲取數(shù)據(jù)
EL表達(dá)式主要用于替換JSP頁面中的腳本表達(dá)式,以從各種類型的web域中檢索java對象、獲取數(shù)據(jù)。(某個web域 中的對象,訪問javabean的屬性、訪問list集合、訪問map集合、訪問數(shù)組)

執(zhí)行運(yùn)算
利用EL表達(dá)式可以在JSP頁面中執(zhí)行一些基本的關(guān)系運(yùn)算、邏輯運(yùn)算和算術(shù)運(yùn)算,以在JSP頁面中完成一些簡單的邏輯運(yùn)算。${user==null}

獲取web開發(fā)常用對象
EL 表達(dá)式定義了一些隱式對象,利用這些隱式對象,web開發(fā)人員可以很輕松獲得對web常用對象的引用,從而獲得這些對象中的數(shù)據(jù)。

調(diào)用Java方法
EL表達(dá)式允許用戶開發(fā)自定義EL函數(shù),以在JSP頁面中通過EL表達(dá)式調(diào)用Java類的方法。

其實(shí)感覺這個地方是應(yīng)該會很好玩的!例如自定標(biāo)簽和自定義函數(shù)!

使用EL表達(dá)式獲取數(shù)據(jù)

使用EL表達(dá)式獲取數(shù)據(jù)語法:“${標(biāo)識符}”
EL表達(dá)式語句在執(zhí)行時,會調(diào)用pageContext.findAttribute方法,用標(biāo)識符為關(guān)鍵字,分別從page、request、session、application四個域中查找相應(yīng)的對象,找到則返回相應(yīng)對象,找不到則返回””

(注意,不是null,而是空字符串)。
示例:${user}
<%=((HttpServletRequest)pageContext.getRequest()).getContextPath() %> 在獲取后對象后要加括號才能繼續(xù)調(diào)用對象身上的方法
${pageContext.request.contextPath} 這個還是需要記憶下有用

EL表達(dá)式也可以很輕松獲取JavaBean的屬性或獲取數(shù)組、Collection、Map類型集合的數(shù)據(jù),例如:

${strs[1]} //獲取數(shù)組中的元素
${user.address.city}//鏈?zhǔn)讲僮鳙@取值
${user.list[0]}:訪問有序集合某個位置的元素
${map.key}  : 獲得map集合中指定key的值

通過JSTL標(biāo)簽中的C標(biāo)簽的foreach進(jìn)行迭代,這個我們已經(jīng)做過了!

EL表達(dá)式執(zhí)行運(yùn)算[重點(diǎn)中的重點(diǎn)]
(1) 算數(shù)運(yùn)算:所有參與元算的元素都會被轉(zhuǎn)成數(shù)字,如果不能轉(zhuǎn)就報錯,空元素參與運(yùn)算當(dāng)作沒參與。
(2) 關(guān)系運(yùn)算:必須記憶下來
     == --->    eq    例如:${5==5}或${5 eq 5}
      != --->    ne 
      <  --->    lt  
      >  --->    gt 
      <= --->    le
      >= --->    ge
      
(3) **邏輯運(yùn)算:**
&&  --->   and   例如:${A&&B}或${A and B}
||  --->   or  
!   --->   not
(4) empty/not empty 判斷一個對象或集合或數(shù)組是否為null或長度為0
(5) 條件表達(dá)式 ${user!= null ? user.name : "";//三元運(yùn)算符
(6) []和.號運(yùn)算符
使用EL表達(dá)式獲得Web開發(fā)常用對象

EL表達(dá)式語言中定義了 11個隱含對象 ,使用這些隱含對象可以很方便地獲取web開發(fā)中的一些常見對象,并讀取這些對象的數(shù)據(jù)。
語法:${隱式對象名稱} :獲得對象的引用

隱藏對象 描述
pageContext 代表pageContext對象,注意和pageScope進(jìn)行區(qū)分
pageScope 代表page域,可以用來獲取page域中的屬性
reqeustScope 代表reqeust域,可以用來獲取reqeust域中的屬性
sessionScope 代表session域,可以用來獲取session域中的屬性
applicationScope 代表application域,可以用來獲取application域中的屬性
param 代表請求參數(shù)組成的map集合${param.userName} 相當(dāng)于 request.getParameter("userName")
paramValues 代表請求參宿組成的map集合,但是此集合的value是String[],用來獲取一名多值的param 相當(dāng)于 request.getParameterValues("userName")
cookie 獲取cookie組成的map對象,此map的值是一個cookie對象${cookie.cookieName.cookieValue}
header 獲取所有HTTP請求字段的map對象
headerValues 同上,獲取請求頭組成的map,但是value是一個String[]
initParam 以map封裝的web.xml中配置的整個web應(yīng)用的初始化參數(shù)

示例測試代碼:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

  
  
  <%--
      ${pageContext }
      ${pageScope }
      ${requestScope }
      ${sessionScope }
      ${applicationScope }
   --%>    
   獲取請求參數(shù)
      ${param.name }    
獲取請求頭 <%= request.getHeader("Host") %> ${header.Host } ${header["Accept-Language"] }
el表達(dá)式獲取cookie信息
<% Cookie cookie = new Cookie("host","localhost"); response.addCookie(cookie); %> <% Cookie [] cs = request.getCookies(); if(cs!=null){ for(Cookie c : cs){ if("host".equals(c.getName())){ out.write(c.getValue()); } } } %>
cookie.host.value: ${cookie.host.value}
整個web應(yīng)用的初始化參數(shù)
<%= application.getInitParameter("data1") %>
initParam: ${initParam.data1 }
pageContext.request:${pageContext.request }
pageScope.request:${pageScope.request }

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/65047.html

相關(guān)文章

  • Java3y文章目錄導(dǎo)航

    摘要:前言由于寫的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導(dǎo)航。 前言 由于寫的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導(dǎo)航。 由于更新比較頻繁,因此隔一段時間才會更新目錄導(dǎo)航哦~想要獲取最新原創(chuàng)的技術(shù)文章歡迎關(guān)注我的公眾號:Java3y Java3y文章目錄導(dǎo)航 Java基礎(chǔ) 泛型就這么簡單 注解就這么簡單 Druid數(shù)據(jù)庫連接池...

    KevinYan 評論0 收藏0
  • 個人分享--web前端學(xué)習(xí)資源分享

    摘要:前言月份開始出沒社區(qū),現(xiàn)在差不多月了,按照工作的說法,就是差不多過了三個月的試用期,準(zhǔn)備轉(zhuǎn)正了一般來說,差不多到了轉(zhuǎn)正的時候,會進(jìn)行總結(jié)或者分享會議那么今天我就把看過的一些學(xué)習(xí)資源主要是博客,博文推薦分享給大家。 1.前言 6月份開始出沒社區(qū),現(xiàn)在差不多9月了,按照工作的說法,就是差不多過了三個月的試用期,準(zhǔn)備轉(zhuǎn)正了!一般來說,差不多到了轉(zhuǎn)正的時候,會進(jìn)行總結(jié)或者分享會議!那么今天我就...

    sherlock221 評論0 收藏0
  • chrome擴(kuò)展開發(fā)之旅 第一

    摘要:擴(kuò)展及應(yīng)用介紹與區(qū)別介紹支持開發(fā)者為其編寫各種各樣的擴(kuò)展與應(yīng)用來擴(kuò)充其功能。用處安裝擴(kuò)展之后,就會讀取擴(kuò)展中的文件。結(jié)語以上就是第一章的總結(jié),接下來的筆記,敬請期待原書項目代碼下載擴(kuò)展及其應(yīng)用開發(fā) 讀書筆記介紹 寒假想自己做一個chrome擴(kuò)展,便從圖書館借了這本書。同時,為了培養(yǎng)自己的好習(xí)慣,做沉淀,便讀一章寫一篇總結(jié),全書總共10章,將會分為10篇博文。歡迎大家多多指正,也希望大家...

    lei___ 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<