JSTL
- 概念:Java Server Pages Tag Library JSP标准标签库
- 作用:用于简化和替换jsp页面上的java代码
- 使用步骤
- 导入jstl相关jar包
- 引入标签库:taglib指令:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- 使用标签:
<c:xxx> code </c:xxx>
- 常用JSTL标签
c:if
标签:相当于java代码的if语句
test为必须属性,接受boolean表达式,经常结合EL表达式一起使用
<%
Listlist=newArrayList();
list.add("aaa");
request.setAttribute("list", list);
%>
<c:iftest="${not empty list}"> code </c:if>
c:choose
标签:相当于java代码的switch语句
1. 使用choose标签声明 相当于switch声明
2. 使用when标签做判断 相当于case
3. 使用otherwise标签做其他情况的声明 相当于default
<%
request.setAttribute("number", 1);
%>
<c:choose>
<c:whentest="${number==1}">这是1</c:when>
<c:whentest="${number==2}">这是2</c:when>
<c:whentest="${number==3}">这是3</c:when>
<c:otherwise>啥都不是</c:otherwise>
</c:choose>
c:forEach
标签:相当于java代码的for语句
- 完成重复操作:相当于普通for循环
<%--在页面打印出1-10--%>
<%--begin:开始值end:结束值var:临时变量step:步长--%>
<c:forEachbegin="1"end="10"var="i"step="1">
${i} <br>
</c:forEach>
- 遍历容器:相当于增强for循环
items:容器对象
var:容器中元素的临时变量
<%
ArrayListlist=newArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
request.setAttribute("list", list);
%>
<%--varStatus:循环状态对象--%>
<c:forEachitems="${list}"var="str"varStatus="s">
<%--index:容器中元素的索引,从0开始count:循环次数,从1开始--%>
${s.index} ${s.count} ${str} <br>
</c:forEach>
0 1 aaa
1 2 bbb
2 3 ccc