JSTL是什么?
JSTL是Java中的一个标记库集。是一个JSP标签集合,是一个JSP标签集合。
EL表达式
- EL表达式主要用于获取作用域的数据,虽然可以做运算判断,但是得到的结果都是一个结果
- EL表达式不存在流程控制
- EL表达式对于集合只能单点访问,不能实现遍历操作
JSTL的作用
- 对EL获取到的数据进行逻辑操作
- 与EL合作完成数据的展示
JSTL的使用
- 导入standard.jar和jstl.jar架包
- 在JSP页面引入标准标签库
JSTL的核心标签
- 条件标签
- 语法:<c:if test="条件"></c:if>
<c:if test="${8>2}"> <h1>恭喜8赢啦</h1> </c:if> <c:if test="${8<2}"> <h1>恭喜2赢啦</h1> </c:if>
- 多条件choose判断
- 语法:
<c:choose> <c:when test="条件1">结果1</c:when> <c:when test="条件2">结果2</c:when> <c:when test="条件3">结果3</c:when> <c:otherwise>结果4</c:otherwise> </c:choose>
- 迭代foreach标签
<c:forEach var="变量名" items="集合" begin="起始下标" end="结束下标" step="步长" varStatus="遍历状态"> </c:forEach>
示例:
<% List<String> list = new ArrayList<>(); list.add( "a" ); list.add( "b" ); list.add( "c" ); list.add( "d" ); request.setAttribute( "list",list ); %> <%-- varStatus的参数:--%> <%-- first:是否是第一行--%> <%-- first:是否是最后一行--%> <%-- count:当前行数--%> <%-- index:当前元素下标--%> <c:forEach var="s" items="${list}" begin="0" end="4" step="1" varStatus="i"> <h1>${s} ${i.first} ${i.last} ${i.count} ${i.index}</h1> </c:forEach>