校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > JSP之EL表達式基礎詳解

JSP之EL表達式基礎詳解

熱門標簽:電話機器人需要使用網絡嗎 自繪地圖標注數據 如何看懂地圖標注點 潤滑油銷售電銷機器人 外呼系統使用方法 南通通訊外呼系統產品介紹 海外圖書館地圖標注點 電銷機器人免培訓 給地圖標注得傭金

一、EL表達式簡介

  1. EL表達式全稱:Expression Language,即表達式語言
  2. EL表達式作用:代替JSP頁面中表達式腳本進行數據的輸出
  3. EL表達式比JSP的表達式腳本簡潔很多
  4. EL表達式的格式是:${表達式} ,注:EL表達式寫在jsp頁面中,表達式一般是域對象的key

代碼演示:在web目錄下創建Test.jsp

body>
    %
        request.setAttribute("key", "value");		
    %>
    %--  表達式腳本輸出key1的值  --%>
    %=request.getAttribute("key1")%>
    %--  EL表達式輸出key1的值  --%>
    ${key1}
    %--  表達式腳本輸出null值時頁面顯示null
          EL表達式輸出null值時頁面什么都不顯示(空串)--%>
/body>

運行結果:

二、EL表達式搜索域數據的順序

EL表達式主要是輸出域對象中的數據,當四個域對象都有同一個key的值時,EL表達式會按照四個域對象的范圍從小到大進行搜索,找到就輸出,與四個域對象聲明的先后順序無關

代碼演示:在web目錄下創建Test.jsp

body>
    %							  
        //向四個域對象中都保存相同key的值
        request.setAttribute("key", "request");
        session.setAttribute("key", "session");
        application.setAttribute("key", "application");
        pageContext.setAttribute("key", "pageContext");
    %>
    %--  使用EL表達式輸出key的值  --%>
    ${key}
/body>

運行結果:

三、EL表達式輸出Java類的屬性

代碼演示:創建Person類

public class Person {
    //輸出Person類中普通屬性,數組屬性,list集合屬性和map集合屬性
    private String name;
    private String[] phones;
    private ListString> cities;
    private MapString, Object> map;
    //注意:沒有聲明age屬性
    public int getAge() {
        return 18;
    }
    //以及全參、空參構造器,各屬性的getter/setter方法
}

代碼演示:在web目錄下創建Test.jsp

body>
    %
        Person person = new Person();
        person.setName("JayChou");
        person.setPhones(new String[]{"123","456","789"});
        //給cities屬性賦值
        ListString> cities = new ArrayListString>();
        cities.add("北京");
        cities.add("上海");
        cities.add("深圳");
        person.setCities(cities);
        //給map屬性賦值
        MapString,Object> map = new HashMap>();
        map.put("key1","value1");
        map.put("key2","value2");
        map.put("key3","value3");
        person.setMap(map);
        pageContext.setAttribute("p", person);
    %>
    %--EL表達式中對象名.屬性名不找屬性的值,而是找名字對應的getXxx方法,沒有此方法會報錯--%>
    輸出Person:${ p }br/>
    輸出Person的name屬性:${p.name} br>
    輸出Person的phones數組地址值:${p.phones} br>
    輸出Person的phones數組屬性值:${p.phones[2]} br>
    輸出Person的cities集合中的元素值:${p.cities} br>
    輸出Person的List集合中個別元素值:${p.cities[2]} br>
    輸出Person的Map集合: ${p.map} br>
    輸出Person的Map集合中某個key的值: ${p.map.key1} br>
    %-- 注意,即使沒有age屬性,但因為有getAge方法,也可得出結果 --%>
    輸出Person的age值:${p.age} br>
/body>

運行結果:

四、EL表達式的運算

語法:${運算表達式},EL表達式支持以下運算符:

1. 關系運算

2. 邏輯運算

3. 算數運算

4. empty運算

empty運算可以判斷一個數據是否為空,若為空,輸出true,不為空,輸出false
以下幾種情況為空(在原本的key之前加empty關鍵字):
(1)值為null、空串
(2)值為Object類型的數組且長度為0 (注:其他類型的長度為0的數組值為非空)
(3)List、Map集合元素個數為0

5. 三元運算

表達式 1?表達式 2:表達式 3
表達式1為真返回表達式2的值,表達式1為假返回表達式3的值

代碼演示:在web目錄下創建Test.jsp

body>
    %
        //1、值為null值時
        request.setAttribute("emptyNull", null);
        //2、值為空串時
        request.setAttribute("emptyStr", "");
        //3、值是Object類型數組,長度為零的時候
        request.setAttribute("emptyArr", new Object[]{});
        //4、list集合,元素個數為零
        ListString> list = new ArrayList>();
        request.setAttribute("emptyList", list);
        //5、map集合,元素個數為零
        MapString,Object> map = new HashMapString, Object>();
        request.setAttribute("emptyMap", map);
        //6、其他類型數組長度為0
        request.setAttribute("emptyIntArr", new int[]{});
    %>
    ${ empty emptyNull } br/>
    ${ empty emptyStr } br/>
    ${ empty emptyArr } br/>
    ${ empty emptyList } br/>
    ${ empty emptyMap } br/>
    ${ empty emptyIntArr} br/>
    %-- 三元運算   --%>
    ${ 12 != 12 ? "相等":"不相等" }
/body>

運行結果:

6. “.”點運算和“[ ]”中括號運算

點運算可以輸出某個對象的某個屬性的值(getXxx或isXxx方法返回的值)
中括號運算可以輸出有序集合中某個元素的值

注:中括號運算可以輸出Map集合中key里含有特殊字符的key的值

代碼演示:在web目錄下創建Test.jsp

body>
    %
        MapString,Object> map = new HashMapString, Object>();
        map.put("a.a.a", "aaaValue");
        map.put("b+b+b", "bbbValue");
        map.put("c-c-c", "cccValue");
        request.setAttribute("map", map);
    %>
    %--特殊的key需要去掉最開始的"."并使用中括號和單引號(雙引號)包起來--%>
    ${ map['a.a.a'] } br> %--如果不加中括號則相當于三個.運算--%> //錯誤的是 ${map.a.a.a}
    ${ map["b+b+b"] } br> %--如果不加中括號則相當于三個+運算--%>
    ${ map['c-c-c'] } br> %--如果不加中括號則相當于三個-運算--%>
/body>

運行結果:

五、EL表達式的11個隱含對象

EL表達式中的11個隱含對象是EL表達式自己定義的,可以直接使用

(1) pageScope、requestScope、sessionScope、applicationScope對象的使用

代碼演示:在web目錄下創建Test.jsp

body>
    %
        pageContext.setAttribute("key1", "pageContext1");
        pageContext.setAttribute("key2", "pageContext2");
        request.setAttribute("key2", "request");
        session.setAttribute("key2", "session");
        application.setAttribute("key2", "application");
    %>
    %--  獲取特定域中的屬性  --%>
    ${ pageScope.key1 } br>
    ${ applicationScope.key2 }
    %--  若直接獲取key1或key2依然按照之前范圍從小到大檢索,無法獲取指定域  --%>
/body>

運行結果:

(2) pageContext對象的使用

代碼示例:在web目錄下創建Test.jsp

%@ page contentType="text/html;charset=UTF-8" language="java" %>
html>
head>
    title>Title/title>
/head>
body>
    %-- 先通過pageContext對象獲取request、session對象,再獲取以下內容 --%>
    %--
        獲取請求的協議:request.getScheme()
        獲取請求的服務器ip或域名:request.getServerName()
        獲取請求的服務器端口號:request.getServerPort()
        獲取當前工程路徑:request.getContextPath()
        獲取請求的方式:request.getMethod()
        獲取客戶端的ip地址:request.getRemoteHost()
        獲取會話的唯一標識:session.getId()
    --%>
1.協議: ${ pageContext.request.scheme }br>
2.服務器ip:${ pageContext.request.serverName }br>
3.服務器端口:${ pageContext.request.serverPort }br>
4.獲取工程路徑:${ pageContext.request.contextPath }br>
5.獲取請求方法:${ pageContext.request.method }br>
6.獲取客戶端ip地址:${ pageContext.request.remoteHost }br>
7.獲取會話的id編號:${ pageContext.session.id}br>
/body>
/html>

運行結果:

(3) param、paramValues對象的使用

代碼示例:在web目錄下創建Test.jsp

body>
    獲取請求參數username的值:${ param.username } br>
    獲取請求參數password的值:${ param.password } br>
    獲取請求參數中第一個hobby的值:${ paramValues.hobby[0] } br>
    獲取請求參數中第二個hobby的值:${ paramValues.hobby[1] } br>
    %--  有多個同名的key時使用paramValues的索引值決定獲取哪一個,使用param只可獲取第一個  --%>
    使用param獲取hobby的值:${ param.hobby } br>
/body>

運行結果:
瀏覽器地址欄輸入:http://localhost:8080/MyTest/Test.jsp?username=Jaychoupassword=123hobby=singhobby=dance

(4) header、headerValues對象的使用

代碼示例:在web目錄下創建Test.jsp

body>
    輸出請求頭[user-Agent]的值:${ header["User-Agent"] }br>
    輸出請求頭中第一個[user-Agent]的值:${ headerValues["User-Agent"][0] }br>
/body>

(5) cookie對象的使用

代碼示例:在web目錄下創建Test.jsp

body>
    獲取Cookie的名稱:${ cookie.JSESSIONID.name } br>
    獲取Cookie的值:${ cookie.JSESSIONID.value } br>
/body>

運行結果:

(6) initParam對象的使用

代碼示例:在web.xml中寫參數 (修改了web.xml中內容之后,需要重啟服務才可生效)

context-param>
    param-name>username/param-name>
    param-value>root/param-value>
/context-param>
context-param>
    param-name>url/param-name>
    param-value>jdbc:mysql:///test/param-value>
/context-param>

在web目錄下創建Test.jsp

body>
    輸出lt;Context-paramgt;username的值:${ initParam.username } br>
    輸出lt;Context-paramgt;url的值:${ initParam.url } br>
/body>

運行結果:

到此這篇關于JSP之EL表達式基礎詳解的文章就介紹到這了,更多相關JSP之EL表達式基礎內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • jsp EL表達式詳解
  • JSP頁面無法識別EL表達式問題解決方案
  • 使用IDEA編寫jsp時EL表達式不起作用的問題及解決方法
  • 淺談SpringMVC jsp前臺獲取參數的方式 EL表達式
  • jsp 開發之struts2中s:select標簽的使用
  • JSP中EL表達式用法_動力節點Java學院整理
  • JSP 開發之 releaseSession的實例詳解
  • springMVC如何將controller中Model數據傳遞到jsp頁面

標簽:南京 廣州 黃石 內江 銅川 樂山 貸款邀約 大連

巨人網絡通訊聲明:本文標題《JSP之EL表達式基礎詳解》,本文關鍵詞  JSP,之,表達式,基礎,詳解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP之EL表達式基礎詳解》相關的同類信息!
  • 本頁收集關于JSP之EL表達式基礎詳解的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产精品一卡二卡在线观看| 91啪亚洲精品| 国产精品电影院| 欧美在线观看一区二区| 精品制服美女丁香| 一区二区三区四区精品在线视频 | 精品乱码亚洲一区二区不卡| 99在线精品一区二区三区| 日韩国产精品91| 中文字幕中文字幕在线一区 | 在线视频一区二区三区| 久久99精品一区二区三区三区| 亚洲欧洲精品一区二区三区| 欧美一卡二卡三卡| 色狠狠色噜噜噜综合网| 国产激情精品久久久第一区二区| 五月婷婷久久丁香| 亚洲精品免费播放| 国产精品福利在线播放| 久久久久国产精品麻豆| 欧美一区午夜视频在线观看 | 久久男人中文字幕资源站| 欧美日韩1区2区| 国内精品第一页| 午夜精品久久久久久久蜜桃app| 欧美激情中文不卡| 久久免费午夜影院| 日韩欧美成人激情| 欧美人与性动xxxx| 欧美三级韩国三级日本一级| aaa欧美日韩| 粉嫩欧美一区二区三区高清影视| 美女在线视频一区| 视频在线观看一区| 午夜精品在线视频一区| 一区二区三区日韩欧美| 中文字幕一区三区| 国产精品久久久一本精品| 久久久综合视频| 久久在线观看免费| 日韩一区二区电影网| 欧美日韩免费视频| 欧美午夜精品电影| 欧美日本高清视频在线观看| 欧美偷拍一区二区| 欧美性一级生活| 欧美日韩国产123区| 欧美日韩免费一区二区三区| 欧美性xxxxx极品少妇| 欧美日韩一区国产| 欧美精品在线一区二区| 欧美精品免费视频| 91麻豆精品国产自产在线 | 亚洲嫩草精品久久| 亚洲男人天堂av| 亚洲视频一区在线| 一区二区三区欧美激情| 亚洲一区二区高清| 日韩中文字幕不卡| 裸体在线国模精品偷拍| 精品一区二区国语对白| 国产乱淫av一区二区三区| 国产精品一区久久久久| 成人性生交大片免费看中文| 99国产精品视频免费观看| 91色|porny| 欧美片网站yy| 精品国产一区二区在线观看| 久久久久久久一区| 日韩美女视频一区| 天天做天天摸天天爽国产一区 | 在线观看日韩高清av| 欧美日韩精品电影| 精品日韩99亚洲| 国产精品久久免费看| 亚洲综合精品自拍| 麻豆高清免费国产一区| 国产91对白在线观看九色| 色综合久久中文综合久久牛| 欧美理论电影在线| 久久伊人蜜桃av一区二区| 国产精品二三区| 丝袜脚交一区二区| 国产精品自拍三区| 欧美综合欧美视频| 日韩精品一区二区三区四区视频| 中文字幕va一区二区三区| 亚洲成年人网站在线观看| 精品无人码麻豆乱码1区2区 | 欧美日韩中文字幕精品| 欧美成人女星排名| 中文字幕佐山爱一区二区免费| 丝袜国产日韩另类美女| 丰满亚洲少妇av| 欧美日韩国产片| 国产亚洲欧洲997久久综合| 亚洲精品成人精品456| 久久99这里只有精品| 91女人视频在线观看| 欧美成人伊人久久综合网| 日韩美女视频19| 精品一区二区精品| 欧美日韩中文字幕一区二区| 国产欧美一区二区三区在线看蜜臀 | 欧美一级免费观看| 一色屋精品亚洲香蕉网站| 免费观看91视频大全| 色欧美88888久久久久久影院| 欧美精品一区二区三区在线播放 | eeuss鲁片一区二区三区| 欧美一区二区三级| 亚洲欧美日韩精品久久久久| 极品销魂美女一区二区三区| 日本久久电影网| 欧美国产一区在线| 免费观看日韩av| 欧美三日本三级三级在线播放| 中文字幕成人在线观看| 久久国产精品色婷婷| 欧美无砖专区一中文字| 国产精品高潮久久久久无| 精品一区免费av| 欧美日本高清视频在线观看| 亚洲男女一区二区三区| 国产98色在线|日韩| 精品三级在线观看| 日韩av网站免费在线| 日本高清免费不卡视频| 国产精品区一区二区三| 国产资源精品在线观看| 日韩一级视频免费观看在线| 亚洲综合精品自拍| 91在线看国产| 国产精品午夜久久| 国内精品伊人久久久久av一坑| 欧美日韩dvd在线观看| 一区二区三区四区激情| 色婷婷综合久久久| 国产精品久久久一区麻豆最新章节| 黄色小说综合网站| 日韩精品一区二区在线| 轻轻草成人在线| 884aa四虎影成人精品一区| 亚洲一卡二卡三卡四卡| 色噜噜狠狠色综合欧洲selulu | 国产精品一区二区无线| 久久综合久久鬼色中文字| 美洲天堂一区二卡三卡四卡视频 | 国产三级欧美三级日产三级99| 久久国产视频网| 日韩一区二区三区视频| 日韩精品福利网| 日韩一级片在线播放| 日本成人中文字幕| 日韩欧美你懂的| 国产综合色在线| 国产日产欧产精品推荐色| 国产精品99久久久久久久女警| 久久久久久久久免费| 国产老妇另类xxxxx| 国产欧美一区二区在线| hitomi一区二区三区精品| 中文字幕一区二区不卡| 色综合久久88色综合天天6 | 另类小说一区二区三区| 精品国产1区2区3区| 九九精品一区二区| 久久综合五月天婷婷伊人| 成人性生交大合| 亚洲乱码一区二区三区在线观看| 色www精品视频在线观看| 亚洲高清免费一级二级三级| 在线电影国产精品| 加勒比av一区二区| 国产精品麻豆久久久| 在线视频国内自拍亚洲视频| 日韩电影免费在线观看网站| 精品国产污污免费网站入口| 成人午夜激情在线| 亚洲国产一区视频| 日韩亚洲欧美在线| 高清不卡在线观看av| 亚洲女人****多毛耸耸8| 欧美日韩mp4| 国产激情精品久久久第一区二区| 亚洲视频你懂的| 7777精品伊人久久久大香线蕉 | 午夜伦理一区二区| 亚洲精品在线免费播放| 成人av小说网| 无吗不卡中文字幕| 亚洲国产精品成人综合| 欧美色视频一区| 国产精品综合一区二区三区| 综合av第一页| 日韩欧美一级特黄在线播放| 成人看片黄a免费看在线| 天天综合日日夜夜精品| 国产欧美一区二区精品婷婷| 欧美日韩精品免费观看视频|