最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年07月18日 11:06:26   作者:fjdingsd  
這篇文章主要為大家詳細介紹了JSP頁面中支持使用的EL表達式用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

 ?、?獲取數(shù)據(jù);

  ② 執(zhí)行運算;

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

 ?、?調(diào)用Java方法。

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

  我們先來看使用EL表達式來獲取數(shù)據(jù)

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

例1:獲取域中的普通數(shù)據(jù) 

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

瀏覽器中觀察:

例2:獲取域中的對象或?qū)傩?/p>

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

瀏覽器中觀察:

例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上表現(xiàn)一致,否則會拋出異常。

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

 ${pageContext.request.contextPath}

該EL表達式的值為:

注意,該表達式顯示的最前面就已經(jīng)有一個斜杠了”/”。這里在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}

瀏覽器中觀察:

例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 }

在瀏覽器中觀察:

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

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

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

  EL表達式支持運算,不管是算術(shù)運算、邏輯運算還是關(guān)系運算:

  語法:${運算表達式}

(此處省略算術(shù)運算符)

例6:

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

瀏覽器上顯示:true。

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

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

例7:

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

瀏覽器中觀察:

二元表達式:

例8:

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

瀏覽器中觀察:

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

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

例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':'' }>女 

瀏覽器中顯示:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java下使用Oracle存儲過程(詳解)

    Java下使用Oracle存儲過程(詳解)

    其實,這篇短文,我早就應(yīng)該寫了。因為,java存儲過程今后在各大數(shù)據(jù)庫廠商中越來越流行,功能也越來越強大。這里以O(shè)racle為例,介紹一下java存儲過程的具體用法。
    2008-09-09
  • jsp Response對象頁面重定向、時間的動態(tài)顯示

    jsp Response對象頁面重定向、時間的動態(tài)顯示

    response對象主要用于對客戶端的請求進行回應(yīng),將web服務(wù)器處理后的結(jié)果發(fā)回給客戶端,封裝了jsp產(chǎn)生的響應(yīng),并發(fā)送到客戶端響應(yīng)客戶端的請求,請求的數(shù)據(jù)可以是各種數(shù)據(jù)類型,甚至是文件
    2021-07-07
  • js實現(xiàn)隨機的四則運算題目效果

    js實現(xiàn)隨機的四則運算題目效果

    本文主要介紹了js實現(xiàn)隨機的四則運算題目效果,可以隨機的進行加減乘除的運算,有興趣的同學可以了解一下。
    2016-10-10
  • JSP由淺入深(6)—— JSP聲明

    JSP由淺入深(6)—— JSP聲明

    JSP由淺入深(6)—— JSP聲明...
    2006-10-10
  • JavaScript實現(xiàn)鏈表插入排序和鏈表歸并排序

    JavaScript實現(xiàn)鏈表插入排序和鏈表歸并排序

    這篇文章主要介紹了JavaScript實現(xiàn)鏈表插入排序和鏈表歸并排序,較為詳細的分析了插入排序和歸并排序,對于學習JavaScript數(shù)據(jù)結(jié)構(gòu)具有一定參考借鑒價值,需要的朋友可以參考下。
    2016-10-10
  • 下載完成后頁面不自動關(guān)閉的方法

    下載完成后頁面不自動關(guān)閉的方法

    其實就一句話js代碼,window.close()
    2008-03-03
  • 一個通用的jsp分頁PageBean

    一個通用的jsp分頁PageBean

    totalRecords 總記錄數(shù) list 保存分頁的數(shù)據(jù) pageNo 當前頁 pageSize 頁大小 query 保存用戶查詢的字符串 pageAction 操作分頁的Servlet或Action(struts)
    2008-10-10
  • JavaWeb程序設(shè)計之JSP實現(xiàn)購物車功能全過程

    JavaWeb程序設(shè)計之JSP實現(xiàn)購物車功能全過程

    這篇文章主要介紹了如何使用Java和相關(guān)技術(shù)實現(xiàn)一個基本的購物車功能,包括商品列表展示、用戶登錄、結(jié)賬和查看購物車等功能,通過編寫代碼和設(shè)計JSP頁面,實現(xiàn)了用戶交互和數(shù)據(jù)管理,需要的朋友可以參考下
    2025-01-01
  • JSP連接SQL Server 2000系統(tǒng)配置

    JSP連接SQL Server 2000系統(tǒng)配置

    JSP連接SQL Server 2000系統(tǒng)配置...
    2006-10-10
  • SpringMail使用過程中的報錯解決辦法

    SpringMail使用過程中的報錯解決辦法

    這篇文章主要介紹了SpringMail使用過程中的報錯解決辦法的相關(guān)資料,希望通過本文能幫助到大家,讓大家解決遇到這樣的問題,需要的朋友可以參考下
    2017-10-10

最新評論

元朗区| 盐源县| 景宁| 略阳县| 鄱阳县| 永寿县| 惠东县| 奇台县| 同德县| 贵州省| 洛宁县| 伊春市| 瓦房店市| 宜州市| 会泽县| 安福县| 桃园市| 惠州市| 灵川县| 西丰县| 汉中市| 双流县| 绥中县| 鹤山市| 星子县| 澎湖县| 三台县| 乌海市| 准格尔旗| 彰化市| 杨浦区| 土默特左旗| 顺平县| 宁武县| 黔西县| 洪湖市| 岗巴县| 望奎县| 泸州市| 宁强县| 曲阳县|