婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美日韩不卡视频| 91国在线观看| 婷婷中文字幕一区三区| 亚洲国产精品久久久久婷婷884 | 国产视频911| 全部av―极品视觉盛宴亚洲| 国产91高潮流白浆在线麻豆| 91精品国产高清一区二区三区| wwwwxxxxx欧美| 在线日韩一区二区| 欧美午夜精品电影| 香蕉影视欧美成人| 不卡免费追剧大全电视剧网站| 欧美日韩成人在线一区| 亚洲青青青在线视频| 国产一区日韩二区欧美三区| 9191国产精品| 人禽交欧美网站| 欧美精品少妇一区二区三区| 国产精品美女一区二区在线观看| 国产精品一二三在| 1000精品久久久久久久久| 国产精品免费丝袜| 午夜欧美大尺度福利影院在线看| 久久精品国产色蜜蜜麻豆| 色婷婷综合久色| 91麻豆精品国产自产在线观看一区 | 久久综合成人精品亚洲另类欧美| 轻轻草成人在线| 久久久久久久电影| 97超碰欧美中文字幕| 日韩伦理av电影| 亚洲五月六月丁香激情| 在线视频国内一区二区| 国产一区二区在线看| 亚洲人成亚洲人成在线观看图片| 丁香五精品蜜臀久久久久99网站| 一区二区三区四区在线播放| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 天使萌一区二区三区免费观看| 欧美大片在线观看一区二区| 91视频观看免费| 国产一区二区不卡| 久久精品国产亚洲高清剧情介绍| 中文字幕一区二区日韩精品绯色| 欧美日韩不卡在线| 91黄色免费看| 91福利在线看| 欧美人妖巨大在线| 在线视频一区二区三| 日本精品一区二区三区四区的功能| 欧美午夜一区二区三区| 欧美一区二区视频在线观看2020| 亚洲美女少妇撒尿| 成人欧美一区二区三区1314| 中日韩免费视频中文字幕| 欧美一二三区在线| 国产精品女同一区二区三区| 亚洲天堂免费看| 午夜影院久久久| 国产美女在线观看一区| 成人看片黄a免费看在线| 在线观看视频欧美| 欧美tk—视频vk| 亚洲国产精品一区二区www| 久久99精品国产.久久久久久| 激情五月激情综合网| 99视频国产精品| 久久嫩草精品久久久精品一| 伊人一区二区三区| 国产精品伊人色| 51精品秘密在线观看| 亚洲人成精品久久久久| 六月丁香婷婷久久| 97精品久久久久中文字幕| 91精品国产综合久久香蕉麻豆| 亚洲国产经典视频| 欧美性色黄大片| 精品国产乱码久久久久久1区2区| 亚洲欧洲日产国产综合网| 亚洲超碰精品一区二区| 成人综合在线观看| 日韩欧美久久一区| 水蜜桃久久夜色精品一区的特点| 91小视频在线| 夜夜精品浪潮av一区二区三区| 久久不见久久见免费视频1| 在线播放91灌醉迷j高跟美女| 亚洲精品免费一二三区| 成人精品鲁一区一区二区| 日韩一级免费观看| 国产精品99久久久久久似苏梦涵 | 在线不卡欧美精品一区二区三区| 91麻豆精品久久久久蜜臀| 欧美性生活影院| 亚洲男同1069视频| 成人三级在线视频| 午夜精品久久久久影视| 欧美肥妇bbw| 国产成人高清在线| 国产欧美精品一区| 国产精品一区二区久久不卡| 欧美剧在线免费观看网站| 日韩电影免费一区| 中文字幕一区免费在线观看| 爽好多水快深点欧美视频| 日韩视频免费直播| 国产精品一区二区在线看| 中文字幕佐山爱一区二区免费| 日本欧美加勒比视频| 欧美亚洲日本国产| 欧美一区二区三区啪啪| 国精产品一区一区三区mba桃花| 在线观看国产一区二区| 在线观看国产日韩| 免费人成精品欧美精品| 成人精品国产免费网站| 7777精品伊人久久久大香线蕉完整版 | 国产美女娇喘av呻吟久久| 精品对白一区国产伦| 99久久er热在这里只有精品15 | 一区二区三区四区不卡在线| 亚洲日本在线天堂| 色吧成人激情小说| 免费在线观看一区| 久久精品一区二区| 亚洲国产成人私人影院tom| 中文字幕av一区二区三区| 日韩免费性生活视频播放| 欧美高清在线一区| 欧美日韩一本到| 欧美国产日韩精品免费观看| 亚洲一级二级在线| 欧美日韩中字一区| 久久精品国产网站| 亚洲三级电影全部在线观看高清| 欧美久久婷婷综合色| av在线一区二区三区| 午夜电影网亚洲视频| 蜜臀久久久久久久| 国产精品理伦片| 麻豆免费精品视频| 中文av字幕一区| 国精产品一区一区三区mba视频| 欧美日韩一区久久| 色综合久久久久综合体桃花网| 亚洲精品在线观看网站| 免费高清在线一区| 久久九九国产精品| 日本v片在线高清不卡在线观看| 国产一区二区不卡| 欧美日韩在线直播| 日韩小视频在线观看专区| 欧美色区777第一页| 91精品国产欧美一区二区18| 亚洲精品视频在线看| 亚洲日本青草视频在线怡红院| 亚洲综合一区二区精品导航| 丰满少妇在线播放bd日韩电影| 色婷婷久久99综合精品jk白丝| 中文字幕欧美一区| 日韩理论片网站| 国内精品国产三级国产a久久| 在线视频你懂得一区| 国产a精品视频| 国产九色精品成人porny| 欧美激情综合网| 日韩免费视频一区| 亚洲特级片在线| 国产成人av影院| 精品国产露脸精彩对白 | 欧美成人国产一区二区| 国产三级精品在线| 麻豆成人av在线| 中文字幕在线不卡一区| 成人黄色av电影| 亚洲丝袜自拍清纯另类| 亚洲品质自拍视频网站| 午夜精品久久久久久不卡8050| 精品一区二区免费在线观看| 国产精品亚洲成人| 97aⅴ精品视频一二三区| 不卡电影免费在线播放一区| 亚洲另类在线制服丝袜| 欧美亚洲自拍偷拍| 欧美性色欧美a在线播放| 久久精品国产成人一区二区三区| 亚洲精品ww久久久久久p站| 精品一区二区三区免费观看| 欧美一卡二卡三卡| 亚洲免费色视频| 欧美精品一区二区三区蜜桃| 韩国精品一区二区| 国产999精品久久久久久绿帽| 欧美日韩成人综合天天影院| 日韩av网站在线观看| 一区二区三区在线高清| 欧美日韩亚洲综合一区二区三区| 亚洲国产美女搞黄色| 欧美一区二区三区视频在线|