激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - EL表達式的隱式對象_動力節點Java學院整理

EL表達式的隱式對象_動力節點Java學院整理

2020-12-03 10:07fjdingsd Java教程

這篇文章主要介紹了EL表達式的隱式對象,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在使用el時,其實el是先看標識符是否是其隱式對象之一,如果不是,才從四個域(page、request、session、application)中順序搜索(使用pagecontext.findattribute方法)。

el總共有如下隱式對象:

EL表達式的隱式對象_動力節點Java學院整理

而這里,el和jsp一樣擁有pagecontext對象,通過在el中使用pagecontext對象,能獲取jsp中其它幾個隱式對象,然后再獲得這些對象中的屬性。例如獲取當前web工程的名稱的經典el表達式:${ pagecontext.request.contextpath },就是由pagecontext先獲取request對象(因為在jsp的api中,我們可以看到pagecontext有getrequest方法),獲取到request對象后,因為request中含有getcontextpath方法,因此我們還可以獲得request對象中contextpath屬性的值。

pagescope、requestscope、sessionscope、applicationscope這四個el隱式對象分別代表了各自域中的map對象(每個域以關鍵字來保存數據或對象,肯定是使用map集合),這map對象保存了存在這些域中的鍵值對。通過el表達式和這些隱式對象,我們可以直接從指定的域中獲取存儲的數據。

例1:

?
1
2
3
4
5
6
<%
      user u = new user();
      u.setusername("fjdingsd");
      session.setattribute("user", u);
   %>
 歡迎您:${sessionscope.user.username}

在瀏覽器中觀察:

EL表達式的隱式對象_動力節點Java學院整理

對于用戶登錄這樣的案例來說,我們檢查用戶是否登錄肯定只需要從session域中查詢,這樣使用el表達式的sessionscope隱式對象就足夠了。

param隱式對象:表示所有請求參數的map集合對象。例如表單提交,那么在請求參數中的數據就以鍵值對存儲在param對象所代表的map集合中,下面的例子我以get方式來替代post方式來模擬表單請求參數:

例2:

?
1
${param.username}

在地址欄上添加url參數,可以看到:

EL表達式的隱式對象_動力節點Java學院整理

使用param隱式對象同樣也能作為數據回顯功能,在以前jsp頁面提交的表單如果想做出數據回顯功能,必須創建一個form的bean對象,當表單校驗失敗時,重新將這個bean對象通過轉發(forward)傳回jsp頁面再取出。而使用param對象,不需要新建form的bean對象,只需要在表單校驗失敗時轉發回表單所在的jsp頁面,通過param對象就可以從請求中取出之前的表單數據。

例3:表單驗證失敗的數據回顯demo

在jsp頁面beantag.jsp中:

?
1
2
3
4
<form action="${pagecontext.request.contextpath}/servlet/formhandler" method="post">
用戶名 <input type="text" name="username" value="${param.username}" />
<input type="submit" value="提交" >
</form>

在處理表單的servlet中:

?
1
2
//省略表單驗證過程,驗證失敗重新轉發到表單頁面
request.getrequestdispatcher("/beantag.jsp").forward(request, response);

剛進入表單注冊頁面:

EL表達式的隱式對象_動力節點Java學院整理

EL表達式的隱式對象_動力節點Java學院整理

假設表單驗證失敗,則轉發請求到表單注冊頁面,并回顯數據:

EL表達式的隱式對象_動力節點Java學院整理

 paramvalues隱式對象:也是表示一個保存所有的請求參數的map集合對象,但是paramvalues對象和param對象的區別是,對任何一個參數,paramvalues都是以字符串數組(string[])作為保存數據的類型,因此paramvalues對象適合在有同名參數的情況下使用。

例4:

?
1
${paramvalues.name[0]}

瀏覽器中觀察:

EL表達式的隱式對象_動力節點Java學院整理

例5:

?
1
${paramvalues.name[1]}

瀏覽器中觀察:

EL表達式的隱式對象_動力節點Java學院整理

header隱式對象:表示一個保存了該jsp頁面發出請求的請求頭字段的map集合對象。

注意:這個對象只能獲取請求頭字段的信息,不能獲取響應頭字段的信息。另外如果頭字段中含有小橫線的”-”,例如”accept-encoding”,則要使用中括號加引號的el取數據形式,例如 ${ header[‘accept-encoding'] }。

例6:

?
1
${header.connection}

在瀏覽器中觀察:

EL表達式的隱式對象_動力節點Java學院整理

例7:

?
1
${header['accept-encoding']}

在瀏覽器中觀察:

EL表達式的隱式對象_動力節點Java學院整理

headervalues隱式對象功能類似于header隱式對象,但以字符串數組封裝每個保存的請求頭字段信息,這點跟paramvalues隱式對象是一樣的。     

cookie隱式對象:表示一個保存了該請求中所有的cookie的map集合對象。

假設在請求中有一個cookie,cookie的鍵值對為:

?
1
jsessionid=e9546ae9c86fb722bdbd7af947157379

例8:

?
1
${cookie.jsessionid}

在瀏覽器中觀察:

EL表達式的隱式對象_動力節點Java學院整理

可以看到,cookie隱式對象的名稱(cookie)是map集合的名稱,而在這個map集合中,有一個鍵值對的key命名為jsessionid,而通過${cookie.jsessionid}獲取到的是一個cookie對象,那么我們如何獲取該cookie的值呢?

之前說過el表達式都是通過對象的具有的屬性來獲取屬性值,能被稱為屬性的都有getxxx方法,而cookie正是具有getname()方法和getvalue()方法,因此在el表達式中獲取了cookie對象后可以再獲取這兩個屬性:

例9:

?
1
2
${cookie.jsessionid.name} <br>
${cookie.jsessionid.value}  <br>

在瀏覽器中觀察:

EL表達式的隱式對象_動力節點Java學院整理

initparam隱式對象:表示一個保存了所有web應用初始化參數(context-param)的map集合對象。

<context-param>標簽用于配置全局性的web參數,在servlet中可以使用 servletcontext.getinitparameter方法獲取指定參數的值。

而在jsp頁面中,我們可以同el表達式的initparam方法來獲取為web應用配置的全局性參數。

例10:

在web.xml文件中配置:

?
1
2
3
4
5
6
7
<context-param>
 
<param-name>username</param-name>
 
 <param-value>fjdingsd</param-value>
 
</context-param>

在jsp頁面中:

?
1
${initparam.username }

在瀏覽器中觀察:

EL表達式的隱式對象_動力節點Java學院整理

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91精品动漫在线观看 | 国产精品美女久久久免费 | 日韩欧美电影在线观看 | 一区二区精品在线 | 羞羞视频免费观看网站 | 麻豆视频免费网站 | 毛片在线播放视频 | 成人羞羞视频在线观看免费 | 精品国产一区二区三区在线观看 | 欧美一级做一级爱a做片性 91在线视频观看 | 国产精品麻豆91 | 国产精选电影免费在线观看网站 | 国产91在线亚洲 | 国产91亚洲精品一区二区三区 | 91精品国产手机 | 精品国产一区二区三区四区阿崩 | 久久成年网 | av日韩一区二区三区 | 日本中文字幕电影在线观看 | 欧美精品电影一区二区 | 欧美一级黄色片在线观看 | 91精品国产乱码久久桃 | 国产jjizz一区二区三区视频 | 爱逼爱操综合网 | 久久亚洲精品视频 | 日本娇小18xxxⅹhd | 国产一级在线免费观看 | 黄色片在线免费播放 | 成人在线视频免费观看 | 在线成人看片 | 午夜久久久精品一区二区三区 | 中文字幕xxx | 国产精品久久久久久久不卡 | 中文字幕精品在线播放 | 国产1区2区3区在线观看 | 欧美亚洲国产一区 | 综合激情网 | 成年免费看| 亚洲精品午夜电影 | 91短视频在线播放 | 永久免费不卡在线观看黄网站 |