除了 empty 我們這邊還有一些基本的運算符
第一種 等等于
jsp代碼如下
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<%request.setAttribute("a","你好");
%>
<p>${a == "你好"}</p>
</body>
</html>
這里 我們在request作用域中 定義了一個a 他的值是字符串內容的 你好
然后 我們在EL中 判斷 他是不是 等于 你好 這里 判斷是不是等于的語法 是兩個等于號
然后運行代碼
很明顯 我們這個條件成立 所以是 true
然后是 非等于(不等于)
我們這樣寫
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<%request.setAttribute("a","你好");
%>
<p>${a != "你好"}</p>
</body>
</html>
我們前面的代碼還是沒改 a的值依舊是你好
然后 我們在 EL中 判斷 感嘆號等于 就是判斷 不等于 判斷 a的值是不是不等于你好
但明顯是等于的
我們運行代碼 false 條件不成立
然后是 大于
我們編寫代碼如下
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<%request.setAttribute("a",1);
%>
<p>${a > 1}</p>
</body>
</html>
這里 我們定義a的值為1 然后判斷它是否大于1 因為都是1 也不存在誰大于誰的概念
我們運行代碼
結果是false 不成立 a 不大于 1
然后 大于等于
我們可以這樣寫
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<%request.setAttribute("a",1);
%>
<p>${a >= 1}</p>
</body>
</html>
這里 我們還是定義 a為1
然后 判斷他是否大于等于1
我們運行代碼
這邊 大于等于 就是 大于或者 等于 都可以成立 那么 我們達到了 等于的條件
然后是小于和小于等于
a < 1 a <= 1
這里就不演示了 都一樣的用法
然后 加法
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<%request.setAttribute("a",1);
%>
<p>${a + 1}</p>
</body>
</html>
這里 我們定義 a 為 1 然后 EL中將他加1 那么 我們運行代碼
1+1 自然就是2
然后減法
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<%request.setAttribute("a",1);
%>
<p>${a - 1}</p>
</body>
</html>
我們將值為1的a 減掉1
運行代碼
減成0 沒毛病
然后 乘
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<%request.setAttribute("a",2);
%>
<p>${a * 2}</p>
</body>
</html>
a的值為 2 EL表達式中 將a 乘以2 那么 22得4
我們運行代碼
除法
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<%request.setAttribute("a",100);
%>
<p>${a / 2}</p>
</body>
</html>
這里 我們設置a的值為 100
然后 在EL中 寫它除以2
100除以 2 應該是50
我們運行代碼
沒有任何問題
然后 我們還可以這樣寫
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<%request.setAttribute("a",100);
%>
<p>${(a / 2) > 20}</p>
</body>
</html>
我們 a的值 設置為 100
然后 EL中 判斷 a除以2后的值 是否大于20
那么 我們 a除以2后是 50 自然是大于20的
我們運行代碼
沒錯 true成立了
然后 我們這樣寫
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<%request.setAttribute("a",100);
%>
<p>${(a / 2) > (20 + 40)}</p>
</body>
</html>
我們 設置 a的值 為 100 然后 EL中 判斷 a除以 2后 是否大于 20 加 40
a除以2 是50 20加40 是60 那么 這個條件是不成立的 我們運行代碼
沒錯呀 家人們 結果是個 false 不成立
然后 是我們的 且 或 非
非 之前我們已經說過了 就是 前面加感嘆號 會取反
然后 或
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<p>${2 == 40 || 20 == 40 || 1 == 1}</p>
</body>
</html>
這里 我們EL中寫了個判斷 2等于40 或者 20 等于 40 或者 1 等于 1
我們運行代碼
最后 我們得到了 條件成立 true
因為 最后 1等于1是成立的 前面的都是錯的 所以 或就是 只要你寫在或里面的條件 有一個成立 結果就是成立
然后 且
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<p>${2 == 40 && 20 == 40 && 1 == 1}</p>
</body>
</html>
這里 我們還是原來的判斷 只是將或都改成了 且
運行代碼
這次不成立了 簡單說 且就是 寫在其中的條件 只要有一個不成立 則結果直接不成立