EL表达式可以简化JSP的代码,但是不能做出逻辑判断,使用JSTL可以在jsp页面做出逻辑判断。
使用JSTL最关键的在于在页面上添加指令
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
通用标签:set remove out
set:设置指定范围内的变量值
out:计算表达式并将结果输出
remove:删除指定范围内的变量
条件标签 1
<c:set scope="request" var="uname" value="admin"/>
<c:if test="${uname!=null }">欢饮您${uname}</c:if>
<c:if test="${uname==null }">暂无数据</c:if>
条件标签2:<c:set var="uname" value="admin" />
<c:choose>
<c:when test="${uname=='admin'}">
管理员${uname }
</c:when>
<c:when test="${uname=='xiaowang' }">
普通用户${uname }
</c:when>
<c:otherwise>
账号登录失败!
</c:otherwise>
</c:choose>
when标签只有test属性,判断条迭代标签:forEach
属性 描述 是否必要 默认值
items 要被循环的信息 否 无
begin 开始的元素(0=第一个元素 1=第二个元素) 否 0
end 最后一个元素(0=第一个元素 1=第二个元素) 否 last element
step 每一次迭代的步长 否 1
var 代表当前条目的变量名称 否 无
varStatus 代表循环状态的变量名称 否 无
<c:forEach items="${requestScope.list }" var="num" varStatus="status">
<p>数字${num },下标${status.index}</p>
</c:forEach>
status.index得到下标
status.count个数
bealoon status.first 是否是第一个 bealoon status.first 是否是最后一个
循环二
<c:forTokens items="1,2,3,4,5,6,7,8,a" delims="," var="ddl">
${ddl}
</c:forTokens>
把字符串分割,相当于split方法。
循环一中的方法都是可以用的