除了 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>
这里 我们还是原来的判断 只是将或都改成了 且
运行代码
这次不成立了 简单说 且就是 写在其中的条件 只要有一个不成立 则结果直接不成立