1.什么是EL表达式
EL 表达式的全称是:Expression Language。是表达式语言。EL 表达式的什么作用:EL 表达式主要是代替 jsp 页面中的表达式脚本在 jsp 页面中进行数据的输出。因为 EL 表达式在输出数据的时候,要比 jsp 的表达式脚本要简洁很多。
EL 表达式的格式是:${表达式}
EL 表达式在输出 null 值的时候,输出的是空串。jsp 表达式脚本输出 null 值的时候,输出的是** null**
2.EL 表达式搜索域数据的顺序
pageContext > request > session > application
3.EL 表达式输出 Bean 的属性
代码实现
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
Person person = new Person();
person.setName("李华");
person.setPhones(new String[]{"12313","3122312"});
ArrayList<String> cities = new ArrayList<>();
cities.add("上海");
cities.add("海");
cities.add("上");
person.setCities(cities);
Map<String,Object> map = new HashMap<>();
map.put("key",1);
map.put("key1",2);
map.put("key2",3);
person.setMap(map);
pageContext.setAttribute("person",person);
%>
输出person:${person}<br>
输出person的name属性:${person.name}<br>
输出person的phones属性:${person.phones[0]}<br>
输出person的map属性:${person.map.key1}<br>
</body>
</html>
4.运算
语法:${ 运算表达式 } , EL 表达式支持如下运算符: 关系运算,逻辑运算,算数运算和java基础大同小异 值得关注的是empty运算 empty 运算可以判断一个数据是否为空,如果为空,则输出 true,不为空输出 false。
以下几种情况为空:
1、值为 null 值的时候,为空
2、值为空串的时候,为空
3、值是 Object 类型数组,长度为零的时候
4、list 集合,元素个数为零
5、map 集合,元素个数为零
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
// 1、值为null值的时候,为空
request.setAttribute("emptyNull", null);
// 2、值为空串的时候,为空
request.setAttribute("emptyStr", "");
// 3、值是Object类型数组,长度为零的时候
request.setAttribute("emptyArr", new Object[]{});
// 4、list集合,元素个数为零
List<String> list = new ArrayList<>();
// list.add("abc");
request.setAttribute("emptyList", list);
// 5、map集合,元素个数为零
Map<String,Object> map = new HashMap<String, Object>();
// map.put("key1", "value1");
request.setAttribute("emptyMap", map);
%>
${ empty emptyNull } <br/>
${ empty emptyStr } <br/>
${ empty emptyArr } <br/>
${ empty emptyList } <br/>
${ empty emptyMap } <br/>
<hr>
${ 12 != 12 ? "aa":"bb" }
</body>
</html>