久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

El表達(dá)式去作用域的值和用法

 ProgramCat 2015-09-13

${page.userName}


${request.userName}


${session.userName}


${application.userName}

 

 

Xml代碼  收藏代碼
  1. 使用el的時(shí)候,默認(rèn)會以一定順序搜索四個(gè)作用域,將最先找到的變量值顯示出來,。  
  2.   
  3. 如果我們有${username}這樣一個(gè)正則表達(dá)式,它回去依次調(diào)用pageContext.getAttribute("username") -> request.getAttribute("username") -> session.getAttribute("username") -> application.getAttribute("username"),,只要找到某一個(gè)不為空的值就立刻返回,。  
  4.   
  5. 這樣的確方便我們的操作,但是隨之也出現(xiàn)了另外一個(gè)問題,,如果pageContext和request中有同名變量,,但是我想取得request中的變量該如何是好呢?這就需要為el表達(dá)式引入作用域的概念了,。  
  6. ${pageScope.username} ${requestScope.username}  
  7.   
  8. 我們可以直接訪問13-04這個(gè)應(yīng)用,,看看el表達(dá)式支持的所有對象,。  
  9.   
  10. 下面我們分別對每個(gè)作用域?qū)ο筮M(jìn)行講解。  
  11.   
  12. 表 13.1. el中的作用域  
  13.       
  14. pageContext(1)  當(dāng)前頁的pageContext對象  
  15. pageScope   把page作用域中的數(shù)據(jù)映射為一個(gè)map對象  
  16. requestScope(2)     把request作用域中的數(shù)據(jù)映射為一個(gè)map對象  
  17. sessionScope    把session作用域中的數(shù)據(jù)映射為一個(gè)map對象  
  18. applicationScope    把a(bǔ)pplication作用域中的數(shù)據(jù)映射為一個(gè)map對象  
  19. param   對應(yīng)request.getParameter()  
  20. paramValues(3)  對應(yīng)request.getParameterValues()  
  21. header(4)   對應(yīng)request.getHeader()  
  22. headerValues    對應(yīng)request.getHeaderValues()  
  23. cookie(5)   對應(yīng)request.getCookies()  
  24. initParam(6)    對應(yīng)ServletContext.getInitParamter()  
  25.   
  26. (1)  
  27.       
  28.   
  29. 例子中的${pageContext.request.contextPath}返回的是request.getContextPath()的值,,在此例中就是/13-04,,我們經(jīng)常使用這個(gè)來拼接jsp中的絕對路徑。  
  30.   
  31. 這里的${pageContext.request.contextPath}是一種特殊用法,,不能使用${request.contextPath}的形式替代,。  
  32.   
  33. (2)  
  34.       
  35.   
  36. pageScope, requestScope, sessionScope, appliationScope都可以看作是Map型變量,調(diào)用其中的數(shù)據(jù)可以使用${pageScope.name}或${pageScope["name"]}的形式,,這兩種寫法是等價(jià)的,。  
  37.   
  38. 在某些情況下只能使用${pageScope["content-type"]},這里不能寫成${pageScope.content-type},,jsp無法解析連字符(-)會出現(xiàn)錯(cuò)誤,。  
  39.   
  40. (3)  
  41.       
  42.   
  43. 需要注意的是${paramValues.name}得到的是一個(gè)字符串?dāng)?shù)組,如果需要獲得其中某個(gè)值,,還需要使用${paramValues.name[0]}指定數(shù)組中的索引,。  
  44.   
  45. 這與下面的${headerValues.name}是相似的。  
  46.   
  47. (4)  
  48.       
  49.   
  50. ${header.name}會取得http請求中的header參數(shù),,現(xiàn)實(shí)工作中很少用到這里的數(shù)據(jù),。  
  51.   
  52. 例子中使用Host是指請求訪問的主機(jī)地址,包括ip和端口號,。而Referer比較有趣,,如果用戶通過超鏈接跳轉(zhuǎn)過來的,Referer會保存上次訪問頁面的地址,,我們就可以通過它來統(tǒng)計(jì)哪些用戶是從哪里轉(zhuǎn)來的了,。  
  53.   
  54. (5)  
  55.       
  56.   
  57. ${cookie.name}將獲得對應(yīng)cookie的對象,比如我們用jsp將一段cookie發(fā)送給客戶端,。  
  58. Cookie cookie = new Cookie("username", "Username in cookie"); response.addCookie(cookie);  
  59.   
  60. 創(chuàng)建一個(gè)名稱為username,,值為"Username in cookie"的Cookie對象,然后發(fā)送給客戶端,。  
  61.   
  62. 然后我們就可以使用${cookie.username}獲得這個(gè)cookie了,,${cookie.username.name}獲得cookie名稱,${cookie.username.value}獲得cookie值,。  
  63.   
  64. (6)  
  65.       
  66.   
  67. ServletContext.getInitParamter()指的應(yīng)用的初始變量,,這些變量都是定義在web.xml中的。  
  68. <context-param> <param-name>username</param-name> <param-value>username with context param</param-value> </context-param>  
  69.   
  70. ${initParam.username}就會得到這里的變量值,。  
  71.   
  72. 以上都是死記硬背的東西,,建議實(shí)際用到的時(shí)候翻看一下就好了,演示代碼都放在13-04下,為了獲得param和cookie還要點(diǎn)擊一下最下邊的連接才可以,。  
  73. 運(yùn)算符  
  74.   
  75. el表達(dá)式中支持java中所有的操作符,,并且還有一些擴(kuò)展,下面我們簡要做一下對照,。  
  76.   
  77. 表 13.2. 加減乘除四則運(yùn)算  
  78.       
  79. +   加  
  80. -   減  
  81. *   乘  
  82. /或div   除  
  83. %或mod   求余  
  84.   
  85. 表 13.3. 比較運(yùn)算  
  86.       
  87. ==或eq   相等(equals)  
  88. !=或ne   不相等(not equals)  
  89. <或lt     小于(less than)  
  90. >或gt     大于(greater than)  
  91. <=或le    小于等于(less than or equals)  
  92. >=或ge    大于等于(greater than or equals)  
  93.   
  94. 表 13.4. 邏輯運(yùn)算  
  95.       
  96. &&或and  邏輯和  
  97. ||或or   邏輯或  
  98. !或not   取反  
  99.   
  100. 表 13.5. 特殊運(yùn)算  
  101.       
  102. empty   是否為null或空字符串  
  103.  :     三元運(yùn)算符  
     

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多