1.什么是EL表达式
EL表达式核心将对象存储到某个域中在需要的页面中直接使用表达式来使用,从来减少获取及强制类型转换的操作。EL既可以用来创建算术表达式也可以用来创建逻辑表达式。
<%
//存储
session.setAttribute("name","豆豆");
//存储对象
Emp emp = new Emp();
emp.setEname("狂铁");
emp.setSex("男");
session.setAttribute("emp",emp);
%>
name:${name}
<hr>
ename:${emp.ename}
sex:${emp.sex}
注意:el表达式存储对象后,可以直接通过对象.属性获取值(实际是通过类中的setter和getter方法获取的
2.1EL中的关系运算符
运算符 | 关键词 | 描述 |
---|---|---|
> | gt | 判断是否大于 |
< | it | 判断是否小于 |
== | eq | 判断是否相等 |
! | not | 非 |
empty | 判断是否为空 |
${empty emp}
${not empty emp}
${emp == null}
2.2逻辑运算符
运算符 | 关键词 | 描述 |
---|---|---|
&& | and | 逻辑与 |
|| | or | 逻辑或 |
3.JSTL标签库
JSTL是一个标签库(其中是以标签的形式来进行使用的),可以简化JSP页面中的小脚本的使用频率,让JSP页面看着更干净整洁 。JSTL中也提供了用于做逻辑判断的功能,可以结合EL表达式使用
1.关联jar包(JSTL的标签库、JSTL的规范)
2.引入标准库路径
<!%--prefix:别名 uri:引入的标准库路径--%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--1~5循环--%>
<c:forEach begin="1" end="5" var="index">
${index}
</c:forEach>
<%--遍历数组
items:指定要遍历的对象
var:每次遍历对应的对象
begin:开始值
end:结束值
varStatus:下标对象
--%>
<c:forEach items="${strArr}" var="str" varStatus="indexObj">
${str},${indexObj.index}
</c:forEach>
<hr>
<%--遍历list集合--%>
<c:forEach items="${list}" var="str" varStatus="indexObj">
${str},${indexObj.index}
</c:forEach>
<hr>
<%--
for(int i=0;i<empList.size();i++){empList.get(i);}
for(Emp emp : empList){}
--%>
<c:forEach items="${empList}" var="emp">
姓名:${emp.ename},序号:${emp.eno}<br>
</c:forEach>
<hr>
<%--遍历Map集合--%>
<c:forEach items="${map}" var="map">
${map.key},${map.value}
</c:forEach>