亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP中EL表達式用法_動力節點Java學院整理

2024-09-05 00:23:13
字體:
來源:轉載
供稿:網友

JSP頁面中支持使用EL表達式,EL全名為Expression Language。EL表達式的主要作用有:

 ?、?獲取數據;

  ② 執行運算;

 ?、?使用EL表達式的11大隱式對象;

 ?、?調用Java方法。

當然,EL表達式還能配合JSTL標簽,進行其他一些功能的顯示,例如迭代等等。

  我們先來看使用EL表達式來獲取數據

  在JSP頁面中使用${標識符}的形式,就是通知JSP引擎在Servlet中調用pageContext.findAttribute(“標識符”)來獲取數據,具體是以標識符作為關鍵字從各個域中來尋找對象或屬性。如果找到,則以字符串形式返回顯示在JSP頁面上,如果沒找到則以空字符串””顯示,這一點跟<jsp:getProperty>標簽不一樣,也說明了EL表達式比這個標簽要好用。

例1:獲取域中的普通數據 

<%     String name = "Ding";     request.setAttribute("personName", name);   %>      ${personName }

瀏覽器中觀察:

JSP,EL,表達式

例2:獲取域中的對象或屬性

<%    Person p = new Person("Ding",25);    request.setAttribute("person", p);   %>      ${person }      <br>   ${person.name }  <br>

瀏覽器中觀察:

JSP,EL,表達式

例3:獲取對象中的對象的屬性

在domain包中的兩個JavaBean:

public class Person {    private String name;  private int age;  private Address address;    。。。省略各個屬性的get和set方法  }public class Address {  private String city;    。。。省略city屬性的get和set方法}

在JSP頁面中代碼為:

<%      Person p = new Person();      Address a = new Address();      a.setCity("Amoy");      p.setAddress(a);      request.setAttribute("person", p);   %>      ${person.address.city }

在瀏覽器中觀察:

JSP,EL,表達式

注意:這種對象中屬性還是對象的,要特別注意屬性的名稱一定在JSP上表現一致,否則會拋出異常。

例3-2:在web工程中使用EL表達式來獲取當前web工程路徑

 ${pageContext.request.contextPath}

該EL表達式的值為:

JSP,EL,表達式

注意,該表達式顯示的最前面就已經有一個斜杠了”/”。這里在EL表達式中的“pageContext”是EL中的一個隱式對象,具體請看下一篇博客。

例4:取出List集合中的元素

<%    List<Person> personList = new ArrayList<Person>();    personList.add(new Person("Ding",25));    personList.add(new Person("LRR",24));    request.setAttribute("persons",personList);   %>      ${persons[0].name } love ${persons[1].name}

瀏覽器中觀察:

JSP,EL,表達式

例5:取出Map集合中的元素

<%    Map<String,Person> personMap = new HashMap<String,Person>();    personMap.put("p1",new Person("Ding",25));    personMap.put("p2",new Person("LRR",24));        request.setAttribute("pMap", personMap);   %>      ${pMap.p1.name }  <br>   love <br>   ${pMap['p2'].name }

在瀏覽器中觀察:

JSP,EL,表達式

  可以看到除了用”.”來取得屬性或者Map集合中key對應的值,還可以使用”[‘標識符']”來獲取(注意中括號中有單引號),這個尤其在標識符為數字的情況下,使用”.”會報錯,而使用”[‘標識符']”則不會報錯。

  注意,EL表達式能獲取對象的屬性是因為該對象中的字段提供了get方法,所以成為了屬性,EL僅能獲取對象的屬性,而不能獲取對象的字段,這一點要明確。

EL表達式的不足:無論是從List集合還是從Map集合中,都無法使用EL表達式來迭代集合,因此如果需要迭代集合,需要EL表達式配合JSTL標簽使用。

  EL表達式支持運算,不管是算術運算、邏輯運算還是關系運算:

  語法:${運算表達式}

JSP,EL,表達式

JSP,EL,表達式

(此處省略算術運算符)

例6:

<%  request.setAttribute("username", "root");  request.setAttribute("password", "123");  %>  ${username == "root" && password == "123" }

瀏覽器上顯示:true。

除了上述三種簡單的運算符外,EL表達式還支持 empty運算符和二元表達式(表達式?值1:值2)

 

empty運算符:檢測對象是否為null或某數據是否為””空字符串

例7:

<%      request.setAttribute("person", null);      request.setAttribute("address", "");      request.setAttribute("user", new User());   %>   ${empty(person)}   <br>   ${empty(address)}  <br>   ${empty(user)}     <br>

瀏覽器中觀察:

JSP,EL,表達式

二元表達式:

例8:

<%    User user = new User();    user.setUsername("fjdingsd");    pageContext.setAttribute("user", user);   %>      歡迎您:${user!=null ? user.username : '' }

瀏覽器中觀察:

JSP,EL,表達式

  上面這個例子使用EL表達式的二元表達式,如果user對象不為null,則輸出該對象中的username屬性,否則輸出空字符。

  二元表達式的另一種用途還可以用來做數據回顯,假設有一個用戶要修改其注冊信息,那么服務器(或從數據庫)在返回其數據到顯示頁面時,應該在他編輯過的信息重新顯示出來。

例9:

<%   request.setAttribute("gender", "female");%><input type="radio" name="gender" value="male" ${gender=='male'?'checked':'' }>男 <input type="radio" name="gender" value="female" ${gender=='female'?'checked':'' }>女 

瀏覽器中顯示:

JSP,EL,表達式

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91视频88av| 国产精品久久久久久久电影| 68精品国产免费久久久久久婷婷| 日韩中文字幕国产精品| 久久精品国产亚洲一区二区| 亚洲人成五月天| 91干在线观看| 国内精品一区二区三区四区| 91免费观看网站| 中文字幕欧美精品在线| 久久精品亚洲94久久精品| 日韩av一区在线观看| 国产亚洲欧洲在线| 国产日韩视频在线观看| 久久久www成人免费精品| 热久久这里只有精品| xxx欧美精品| 国产精品视频免费观看www| 国产精品一区久久久| 亚洲免费一在线| 国产精品三级久久久久久电影| 一区二区三区视频免费| 欧美国产日韩中文字幕在线| 亚洲性视频网站| 日韩视频在线免费| 日韩av有码在线| 欧美多人乱p欧美4p久久| 久久精品国产亚洲7777| 91在线观看免费网站| www.日韩不卡电影av| 日韩亚洲精品视频| 成人黄色在线观看| 亚洲一区二区三区777| 久久的精品视频| 夜夜嗨av色一区二区不卡| 亚州欧美日韩中文视频| 国产主播在线一区| 欧美性猛交xxxx免费看漫画| www亚洲精品| 欧美精品一二区| 亚洲第一精品夜夜躁人人躁| 亚洲一区二区三区四区视频| 2019亚洲日韩新视频| 91性高湖久久久久久久久_久久99| 日韩精品视频在线| 国产视频久久久久| 欧美一区二区三区艳史| 美女精品久久久| 日韩欧美aⅴ综合网站发布| 一本色道久久综合狠狠躁篇的优点| 91久久国产婷婷一区二区| 国产+成+人+亚洲欧洲| 亚洲综合av影视| 久久精视频免费在线久久完整在线看| 国产一区二区三区视频免费| 亚洲精品久久久久久久久久久久久| 国产成一区二区| 97精品在线观看| 98视频在线噜噜噜国产| 26uuu久久噜噜噜噜| 18性欧美xxxⅹ性满足| 欧美成aaa人片在线观看蜜臀| 国产成人精品久久亚洲高清不卡| xx视频.9999.com| 欧美国产日韩xxxxx| 亚洲最新av网址| 91地址最新发布| 欧美一级在线播放| 欧美一区视频在线| 91九色视频在线| 亚洲一二三在线| 毛片精品免费在线观看| 久久国产精品影视| 中文字幕欧美日韩精品| 亚洲一区二区久久| 中文字幕亚洲综合久久筱田步美| 国产精品久久色| 国产精品日韩在线一区| 国产精品视频免费在线观看| 精品国产一区二区三区久久久狼| 日韩欧美一区视频| 久久久久国产精品www| 国产精品免费电影| 国产精品久久久久不卡| 亚洲综合精品伊人久久| 国产精品视频网站| 日韩精品免费综合视频在线播放| 伦伦影院午夜日韩欧美限制| 亚洲а∨天堂久久精品喷水| 深夜成人在线观看| 中文字幕久久久av一区| 亚洲国产成人91精品| 68精品国产免费久久久久久婷婷| 久久人人爽人人爽人人片av高清| 久久久成人精品| 91sao在线观看国产| 九九热最新视频//这里只有精品| 欧美xxxx14xxxxx性爽| 亚洲一区二区三区四区在线播放| 国产乱人伦真实精品视频| 国产精品美女主播| 在线播放日韩av| 91欧美精品成人综合在线观看| 精品亚洲一区二区三区四区五区| 欧洲美女免费图片一区| 欧美精品videos另类日本| 精品国偷自产在线视频99| 97在线视频免费观看| 成人激情黄色网| 日韩欧美精品网址| 欧美专区福利在线| 国产日韩亚洲欧美| 日韩电影免费在线观看| 日韩中文字幕在线视频播放| 欧美午夜女人视频在线| 亚洲福利在线观看| 最新国产精品拍自在线播放| 日韩av影视综合网| 国产亚洲一区精品| 久久久精品久久久久| 色噜噜狠狠狠综合曰曰曰88av| 国产午夜精品全部视频在线播放| 欧美裸体xxxx极品少妇| 久久综合久久美利坚合众国| 2019最新中文字幕| 欧美另类极品videosbest最新版本| 国产一区欧美二区三区| 国产精品无码专区在线观看| 亚洲国产99精品国自产| 日韩精品极品在线观看| 国内外成人免费激情在线视频| 不卡av日日日| 97精品一区二区视频在线观看| 久久久久久久久久久av| 性欧美视频videos6一9| 国产成人午夜视频网址| 久久久久久国产精品三级玉女聊斋| 美日韩精品免费视频| 成人福利视频网| 成人精品视频在线| 2019中文字幕在线免费观看| 亚洲精品福利视频| 欧美精品一区二区三区国产精品| 97人洗澡人人免费公开视频碰碰碰| 亚洲精品国产综合久久| 日韩成人xxxx| 黑人精品xxx一区一二区| 精品视频中文字幕| 视频在线观看一区二区| 国产精品一区久久| 日韩中文理论片| 久久天天躁日日躁| 国产精品一区二区三| 国产精品一区二区久久久| 欧美国产精品日韩| 在线视频日韩精品| 亚洲国产另类久久精品| 欧美午夜电影在线| 国产91对白在线播放| 91精品国产自产在线观看永久| 国产欧美一区二区三区视频| 欧美亚洲国产精品| 欧洲亚洲妇女av| 精品网站999www|