一、概述
1、概念:Expression Language 表达式语言
2、作用:替换和简化jsp页面中java代码的编写<% %>
3、语法:${表达式}
4、注意:jsp默认支持el表达式的。如果要忽略el表达式:
- 设置jsp中page指令中:
isELIgnored="true"
忽略当前jsp页面中所有的el表达式 ${表达式}
:忽略当前这个el表达式
二、EL表达式——执行运算
1、算数运算符: +
-
*
/
div
%
mod
2、比较运算符: >
<
>=
<=
==
!=
3、逻辑运算符: &&
and
||
or
!
not
4、空运算符: empty
- 功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0
${empty list}
:判断字符串、集合、数组对象是否为null或者长度为0${not empty str}
:表示判断字符串、集合、数组对象是否不为null 并且 长度>0
实例:el01.jsp
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>el_test</title>
</head>
<body>
<h4>算术运算符</h4><br>
${3 + 4}<br>//7
${3 / 4}<br>//0.75
${3 div 4}<br>//0.75
${3 % 4}<br>//3
${3 mod 4}<br>//3
<h4>比较运算符</h4><br>
${3 == 4}<br>//false
<h4>逻辑运算符</h4><br>
${3 > 4 and 3 < 4}<br>//false
${3 > 4 && 3 < 4}<br>//false
<h4>empty运算符</h4><br>
<%
String string = null;
request.setAttribute("string字符串",string);
List list = new ArrayList();
request.setAttribute("list集合",list);
%>
${not empty string字符串}<br>//false
${not empty list集合}//false
</body>
</html>
三、EL表达式——获取值
1、el表达式只能从域对象中获取值
2、语法:
- ${域名称.键名}:从指定域中获取指定键的值
- 域名称:
- pageScope --> pageContext
- requestScope --> request
- sessionScope --> session
- applicationScope --> application(ServletContext)
- 举例:在request域中存储了name=张三
- 域名称:
3、获取:${requestScope.name}
4、${键名}
:表示依次从最小的域中查找是否有该键对应的值,直到找到为止
四、EL表达式——获取对象的值
1、获取对象
-
对象:
${域名称.键名.属性名}
-
本质上会去调用对象的getter方法
2、获取List集合
${域名称.键名[索引]}
3、获取 Map 集合
${域名称.键名.key名称}
${域名称.键名["key名称"]}
4、获得请求参数
${param.参数名}
五、EL表达式——隐式对象
1、el表达式中有11个隐式对象
2、pageContext
:获取jsp其他八个内置对象
3、${pageContext.request.contextPath}
:动态获取虚拟目录
来源:https://blog.csdn.net/weixin_43860260/article/details/99650073