expression language 表达式语言
${}
等同于 getAttribute("str");
el表达式优先级从高到低
pageContext >request>session>application
作用域对象
application>session> >request>pageContext
requestScope
sessionScope
applicationScope
pageScope
${ stu.name}
调用stu对象的getName()/isName方法
el中只能做运算,不能拼接
el中没有equals 只有==/!=
查看变量,对象集合是否为null或者是否为空数据
${empty list}
${not empty list}
${list[0].name}
${map["stu"].name}
${map.stu4.name}
获取map中的key为stu的元素,调用getName/isName方法
jsp标准标签库
1.导入标签库
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2.使用标签
<c: if test="${1==1}">
</c:if>
多条件判断
<c:choose>
<c:when test="${1==1}">
</c:when>
<c:when test="${2==2}">
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
<c:forEach items="${list}" var="1">
</c:forEach>
items:指定要循环的数组,集合
注意:必须使用el表达式获取集合,否则无法循环
var:给每次循环获取的元素取一个名字
begin: 指定从哪个下标位置开始循环(大于等于)
end: 指定从哪个下标结束循环(小于等于)
step:步进
varStatus:循环变量的状态
vs.index 获取当前循环元素的下标
vs.count 获取当前循环的次数
循环次数不受步进的影响
循环下标从0开始,会受步进的影响
格式
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt: formatDate value="${l.birthday}" parttern="yyyy-MM-dd">