国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

李文鵬 / 3530人閱讀

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

概念

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

作用

獲取數(shù)據(jù)
EL表達(dá)式主要用于替換JSP頁面中的腳本表達(dá)式,以從各種類型的web域中檢索java對(duì)象、獲取數(shù)據(jù)。(某個(gè)web域 中的對(duì)象,訪問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ā)常用對(duì)象
EL 表達(dá)式定義了一些隱式對(duì)象,利用這些隱式對(duì)象,web開發(fā)人員可以很輕松獲得對(duì)web常用對(duì)象的引用,從而獲得這些對(duì)象中的數(shù)據(jù)。

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

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

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

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

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

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

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

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

EL表達(dá)式執(zhí)行運(yùn)算[重點(diǎn)中的重點(diǎn)]
(1) 算數(shù)運(yùn)算:所有參與元算的元素都會(huì)被轉(zhuǎn)成數(shù)字,如果不能轉(zhuǎn)就報(bào)錯(cuò),空元素參與運(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 判斷一個(gè)對(duì)象或集合或數(shù)組是否為null或長度為0
(5) 條件表達(dá)式 ${user!= null ? user.name : "";//三元運(yùn)算符
(6) []和.號(hào)運(yùn)算符
使用EL表達(dá)式獲得Web開發(fā)常用對(duì)象

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

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

示例測試代碼:

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

  
  
  <%--
      ${pageContext }
      ${pageScope }
      ${requestScope }
      ${sessionScope }
      ${applicationScope }
   --%>    
   獲取請(qǐng)求參數(shù)
      ${param.name }    
獲取請(qǐng)求頭 <%= 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}
整個(gè)web應(yīng)用的初始化參數(shù)
<%= application.getInitParameter("data1") %>
initParam: ${initParam.data1 }
pageContext.request:${pageContext.request }
pageScope.request:${pageScope.request }

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

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

相關(guān)文章

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

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

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

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

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

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

    lei___ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<