0x01.JSTL概述
- JavaServer Pages Tag Library JSP 标准标签库。
- 是由Apache组织提供的开源的免费的jsp标签。
- 用于简化和替换jsp页面上的java代码。
0x02.使用步骤
- 导包。
- 引入标签库:taglib指令。
引入标签库:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
0x03.常见标签及使用
if标签:
- 相当于一条
if
语句,但是没有else
语句。 test
为 必须属性,接受boolean
表达式。- 如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容。
test
属性值常结合el
表达式一起使用。
<%
List list=new ArrayList<>();
list.add("...");
request.setAttribute("list",list);
%>
<c:if test="${not empty list}">
集合非空
</c:if>
choose标签:
- 相当于一条
switch
语句。 choose
是标签声明。when
标签做判断 。otherwise
标签做其他情况的声明。
<%
request.setAttribute("num",78);
%>
<c:choose >
<c:when test="${num==1}">星期一</c:when>
<c:when test="${num==2}">星期二</c:when>
<c:when test="${num==3}">星期三</c:when>
<c:when test="${num==4}">星期四</c:when>
<c:when test="${num==5}">星期五</c:when>
<c:when test="${num==6}">星期六</c:when>
<c:when test="${num==7}">星期天</c:when>
<c:otherwise>输入有误</c:otherwise>
</c:choose>
forEach标签:
-
相当于一条
for
循环语句。 -
begin
属性:开始值。 -
end
属性:结束值。 -
var
属性:临时变量。 -
step
属性:步进。 -
varStatus
对象:循环状态对象。count
属性:循环次数。index
属性:容器中元素的索引。
<c:forEach begin="1" end="10000" var="i" step="1000">
${i}<br>
</c:forEach>
<%
List list=new ArrayList<>();
list.add("234");
list.add("34543");
list.add("23454");
request.setAttribute("list",list);
%>
<c:forEach items="${list}" var="str" varStatus="s">
${s.index} ${s.count} ${str} <br>
</c:forEach>
展示集合数据:
<%
List list=new ArrayList<>();
list.add("qqq");
list.add("www");
list.add("eee");
list.add("rrr");
request.setAttribute("list",list);
%>
<table border="1" width="500" align="center">
<tr>
<th>编号</th>
<th>数据</th>
</tr>
<c:forEach items="${list}" var="user" varStatus="s">
<tr>
<td>${s.count}</td>
<td>${user}</td>
</tr>
</c:forEach>
</table>
ATFWUS --Writing By 2020–04-07