EL表示式的大全(簡單易懂)
一、EL表示式簡介
EL 全名為Expression Language。EL主要作用:
1、獲取資料
EL表示式主要用於替換JSP頁面中的指令碼表示式,以從各種型別的web域 中檢索java物件、獲取資料。(某個web域 中的物件,訪問javabean的屬性、訪問list集合、訪問map集合、訪問陣列)
2、執行運算
利用EL表示式可以在JSP頁面中執行一些基本的關係運算、邏輯運算和算術運算,以在JSP頁面中完成一些簡單的邏輯運算。${user==null}
3、獲取web開發常用物件
EL 表示式定義了一些隱式物件,利用這些隱式物件,web開發人員可以很輕鬆獲得對web常用物件的引用,從而獲得這些物件中的資料。
4、呼叫Java方法
EL表示式允許使用者開發自定義EL函式,以在JSP頁面中通過EL表示式呼叫Java類的方法。
1.1、獲取資料
使用EL表示式獲取資料語法:"${識別符號}"
EL表示式語句在執行時,會呼叫pageContext.findAttribute方法,用識別符號為關鍵字,分別從page、request、session、application四個域中查詢相應的物件,找到則返回相應物件,找不到則返回”” (注意,不是null,而是空字串)。
EL表示式可以很輕鬆獲取JavaBean的屬性,或獲取陣列、Collection、Map型別集合的資料
el表示式獲取資料範例:
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 3 <%@page import="me.gacl.domain.Person"%> 4 <%@page import="me.gacl.domain.Address"%> 5 <!DOCTYPE HTML> 6 <html> 7 <head> 8 <title>el表示式獲取資料</title> 9 </head> 10 11 <body> 12 <% 13 request.setAttribute("name","孤傲蒼狼"); 14 %> 15 <%--${name}等同於pageContext.findAttribute("name") --%> 16 使用EL表示式獲取資料:${name} 17 <hr> 18 <!-- 在jsp頁面中,使用el表示式可以獲取bean的屬性 --> 19 <% 20 Person p = new Person(); 21 p.setAge(12); 22 request.setAttribute("person",p); 23 %> 24 使用el表示式可以獲取bean的屬性:${person.age} 25 <hr> 26 <!-- 在jsp頁面中,使用el表示式可以獲取bean中的。。。。。。。。。的屬性 --> 27 <% 28 Person person = new Person(); 29 Address address = new Address(); 30 person.setAddress(address); 31 32 request.setAttribute("person",person); 33 %> 34 ${person.address.name} 35 <hr> 36 <!-- 在jsp頁面中,使用el表示式獲取list集合中指定位置的資料 --> 37 <% 38 Person p1 = new Person(); 39 p1.setName("孤傲蒼狼"); 40 41 Person p2 = new Person(); 42 p2.setName("白虎神皇"); 43 44 List<Person> list = new ArrayList<Person>(); 45 list.add(p1); 46 list.add(p2); 47 48 request.setAttribute("list",list); 49 %> 50 51 <!-- 取list指定位置的資料 --> 52 ${list[1].name} 53 54 <!-- 迭代List集合 --> 55 <c:forEach var="person" items="${list}"> 56 ${person.name} 57 </c:forEach> 58 <hr> 59 <!-- 在jsp頁面中,使用el表示式獲取map集合的資料 --> 60 <% 61 Map<String,String> map = new LinkedHashMap<String,String>(); 62 map.put("a","aaaaxxx"); 63 map.put("b","bbbb"); 64 map.put("c","cccc"); 65 map.put("1","aaaa1111"); 66 request.setAttribute("map",map); 67 %> 68 69 <!-- 根據關鍵字取map集合的資料 --> 70 ${map.c} 71 ${map["1"]} 72 <hr> 73 <!-- 迭代Map集合 --> 74 <c:forEach var="me" items="${map}"> 75 ${me.key}=${me.value}<br/> 76 </c:forEach> 77 <hr> 78 </body> 79 </html>
執行效果如下:
1.2、執行運算
語法:${運算表示式},EL表示式支援如下運算子:
1、關係運算符
2、邏輯運算子:
3、empty運算子:檢查物件是否為null(空)
4、二元表示式:${user!=null?user.name :""}
5、[ ] 和 . 號運算子
使用EL表示式執行運算範例:
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 3 <%@page import="me.gacl.domain.User"%> 4 <!DOCTYPE HTML> 5 <html> 6 <head> 7 <title>el表示式運算子</title> 8 </head> 9 10 <body> 11 <h3>el表示式進行四則運算:</h3> 12 加法運算:${365+24}<br/> 13 減法運算:${365-24}<br/> 14 乘法運算:${365*24}<br/> 15 除法運算:${365/24}<br/> 16 17 <h3>el表示式進行關係運算:</h3> 18 <%--${user == null}和 ${user eq null}兩種寫法等價--%> 19 ${user == null}<br/> 20 ${user eq null}<br/> 21 22 <h3>el表示式使用empty運算子檢查物件是否為null(空)</h3> 23 <% 24 25 List<String> list = new ArrayList<String>(); 26 list.add("gacl"); 27 list.add("xdp"); 28 request.setAttribute("list",list); 29 %> 30 <%--使用empty運算子檢查物件是否為null(空) --%> 31 <c:if test="${!empty(list)}"> 32 <c:forEach var="str" items="${list}"> 33 ${str}<br/> 34 </c:forEach> 35 </c:if> 36 <br/> 37 <% 38 List<String> emptyList = null; 39 %> 40 <%--使用empty運算子檢查物件是否為null(空) --%> 41 <c:if test="${empty(emptyList)}"> 42 對不起,沒有您想看的資料 43 </c:if> 44 45 <br/> 46 47 <h3>EL表示式中使用二元表示式</h3> 48 <% 49 session.setAttribute("user",new User("孤傲蒼狼")); 50 %> 51 ${user==null? "對不起,您沒有登陸 " : user.username} 52 53 <br/> 54 55 <h3>EL表示式資料回顯</h3> 56 <% 57 User user = new User(); 58 user.setGender("male"); 59 //資料回顯 60 request.setAttribute("user",user); 61 %> 62 <input type="radio" name="gender" value="male" ${user.gender=='male'?'checked':''}>男 63 <input type="radio" name="gender" value="female" ${user.gender=='female'?'checked':''}相關推薦
EL表示式的大全(簡單易懂)
一、EL表示式簡介 EL 全名為Expression Language。EL主要作用: 1、獲取資料 EL表示式主要用於替換JSP頁面中的指令碼表示式,以從各種型別的web域 中檢索java物件、獲取資料。(某個web域 中的物件,訪問jav
C# 事務處理 (簡單易懂)
操作 相互 用戶 因此 成功 綁定 執行 對數 序列 事務是並發控制單位,是用戶定義的一個操作序列(這些操作 要麽都做 要麽都不做)通過事務sql server 能將邏輯相關的一組操作綁定在一起,以便服務器保持數據的完整性特性:原子性(Atomicity)原子性是指事務包含
C#中對sqlserver進行增刪改查操作(簡單易懂)
uid 數據連接 net cti ade 密碼 logs where Go 1、添加引用using System.Data;using System.Data.SqlData;2、建立於數據庫的連接,建議將它做成一個方法,方便多次利用。string sqlconnectio
vue專案轉換成pdf檔案(簡單易懂)
1,新增兩個模組html2canvas和jspdf (1)npm install --save html2canvas(將頁面html轉換成圖片) (2)npm install --save
HTTP傳輸協議詳解(簡單易懂)
前言 HTTP: HyperText Transfer Protocol超文字傳輸協議,是網際網路上應用最為廣泛的一種網路協議,所有的WWW檔案都必須遵守這個標準;屬於應用層的面向物件的協議,由於其簡捷、快速的方式,適用於分散式超媒體資訊系統。它於1990年提出,經過幾年的使用與發展,得到不
爬蟲IP池驗證IP是否可用(簡單易懂)
IP池驗證IP是否可用 使用requests模組演示程式碼 具體的ip池這裡就不演示了,無非就是在代理的網站爬取收集大量的ip進行儲存,並沒有很大的難度,這裡主要演示驗證IP可用性的方法。 import requests url = "http://www.baidu.com/"
深入理解vue中的slot與slot-scope (簡單易懂)
走在前端的大道上 插槽,也就是slot,是元件的一塊HTML模板,這塊模板顯示不顯示、以及怎樣顯示由父元件來決定。 實際上,一個slot最核心的兩個問題在這裡就點出來了,是顯示不顯示和怎樣顯示。 由於插槽是一塊模板,所以,對於任何一個元件,從模板種類的角度來分,其實都可以
到底什麼是“機器學習”?機器學習有哪些基本概念?(簡單易懂)
由現實世界引出“機器學習” 看到烏雲密佈,自己推測出要下雨 通過一個蘋果的表面和大小,來判斷這個蘋果是否好吃 我們通過經驗來進行判斷,這是因為我們積累了許多有用的經驗,通過對有用經驗的分析,就能對遇到的情況做出相應的對策。 計算機中,經驗就是“資料”,判斷模型就是“演算法”,機器學習
【轉載】Java動態代理之JDK實現和CGlib實現(簡單易懂)
原文地址:http://www.cnblogs.com/ygj0930/p/6542259.html 一:代理模式(靜態代理) 代理模式是常用設計模式的一種,我們在軟體設計時常用的代理一般是指靜態代理,也就是在程式碼中顯式指定的
並查集 - 食物鏈(NOI 2001)(簡單易懂)
題目描述: 動物王國中有三類動物 A,B,C,這三類動物的食物鏈構成了有趣的環形。A 吃 B ,B 吃 C ,C 吃 A 。 現有 N 個動物,以 1~N 編號。每個動物都是 A,B,C 中的一種,但是我們並不知道它到底是哪一種。 有人用兩種說法對這 N 個動物所構成的食物鏈關係進行
正則表示式大全(整理版)
測試字串的某個模式。例如,可以對一個輸入字串進行測試,看在該字串是否存在一個電話號碼模式或一個信用卡號碼模式。這稱為資料有效性驗證 替換文字。可以在文件中使用一個正則表示式來標識特定文字,然後可以全部將其刪除,或者替換為別的文字 根據模式匹配從字串中提取一個子字串。可以用來
tomcat安裝極其尋找閃退原因(簡單易懂)
Tomcat安裝配置 2.在安裝tomcat之前,請大家確保已安裝好jdk,安裝jdk的步驟百度下就行。 3、新增系統環境變數,我的電腦->屬性->高階系統設定->環境變數(操作同上) (1)系統變數名: CATALINA_BASE 變數值: D
匈牙利演算法(簡單易懂)
matrix67(點選開啟連結): 說穿了,就是你從二分圖中找出一條路徑來,讓路徑的起點和終點都是還沒有匹配過的點,並且路徑經過的連線是一條沒被匹配、一條已經匹配過,再下一條又沒匹配這樣交替地出現。找到這樣的路徑後,顯然路徑裡沒被匹配的連線比已經匹配了的連線多一條,於是修改
Java動態代理之JDK實現和CGlib實現(簡單易懂)
原文地址:http://www.cnblogs.com/ygj0930/p/6542259.html 一:代理模式(靜態代理) 代理模式是常用設計模式的一種,我們在軟體設計時常用的代理一般是指靜態代理,也就是在程式碼中顯式指定的代理。
EL表示式語言(Servlet+jsp)
1:Servlet package cn.mldn.lxh.vo; import java.io.IOException; import java.util.List; import java.util.ArrayList; import javax.servlet.S
簡述OSI七層物理模型(簡單易懂)
物理層:第一層、建立、維護、斷開物理連線,傳遞介質 bit流,就是那個啥電生磁。 資料鏈路層:第二層、進行硬體的地址定址,差錯校驗,MAC地址和分組交換 也就是裝置和裝置之間通過網路連線的傳輸規範 資料:幀
面向連接的Socket Server的簡單實現(簡明易懂)
nta on() img == con 線程關閉 sse 每一個 sockaddr http://www.cnblogs.com/worldtraveler/p/4685977.html 一、基本原理 有時候我們需要實現一個公共的模塊,需要對多個其他的模塊提供服務,最常用
EL表示式語言(零)
一、EL表示式簡介 EL全名為Expression Language。EL主要作用: 獲取資料:EL表示式主要用於替換JSP頁面中的指令碼表示式,以從各種型別的web域中檢索java物件、獲取資料。(某個web域中的物件,訪問JavaBean的屬性、訪問list集合、訪問
史上最簡單的SpringCloud教程大全(Finchley版本)
史上最簡單的 SpringCloud 教程 | 第一篇: 服務的註冊與發現Eureka(Finchley版本) https://blog.csdn.net/forezp/article/details/81040925 史上最簡單的SpringCloud教程 | 第二篇: 服務
PTA7-22 龜兔賽跑演算法的分析(簡單易懂的程式碼講解)
** #include"iostream" using namespace std; int main() { int T,tu,gui,rest=0; int time; tu=gui=0;