JSTL的简单介绍
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。
JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。
JSTL标签需要安装的包
下载路径:http://tomcat.apache.org/taglibs/standard/
将下载的akarta-taglibs-standard-1.1.2.zip包解压会有两个jar包。
使用JSTL标签需要导入standard.jar和jstl.jar两个包,将文件拷贝到/WEB-INF/lib/下,并加载到工程中。
core核心标签库
在使用core标签库的时候需要使用taglib命令来导入标签库,
<%@ taglib prefix=”c” uri=http://java.sun.com/jsp/jstl/core%>
prefix="c":指定标签库的前缀,这个前缀可以随便给值,通常会在使用core标签库时指定前缀为c;
uri="http://java.sun.com/jstl/core":指定标签库的uri,它可以让JSP找到标签库的描述文件;
core标签库常用标签
<c:out> | 用于在JSP中显示数据,就像<%= ... > |
<c:set> | 用于保存数据 |
<c:if> | 和一般的条件判断一样 |
<c:choose> | 是<c:when>的父标签,和<c:when>搭配使用 |
<c:forEchah> | 目前是循环标签,可以用于数组、集合遍历 |
<c:when> | <c:choose>的子标签,用于判断条件是否成立 |
1.<c:out>
<c:out value=”123456”></c:out> 输出字符串123456
2.<c:set>
<c:set var=”a” value=”hello”/></c:set>就是讲数据进行保存
3.<c:if>
if标签的test属性必须是一个boolean类型的值,如果test的值为true,那么执行if标签的内容,否则不执行.
<c:set var=”salary” scope=”session”value=”${200*2}”>
<c:if test=”${salary>200}”>
<p>工资:<c:out value=”${salary}”></p>
<c:if>
4.<c:choose>和<c:when>
<c:set var=”score” value=”${param.score}”>
<c:choose>
<c:whentest=”${score>100||score<0}”>错误的分数${score}<c:when>
<c:whentest=”${score>90}”>A级</c:when>
<c:whentest=”${score>80}”>B级</c:when>
<c:whentest=”${score>70}”>C级</c:when>
<c:whentest=”${score>60}”>D级</when>
<c:otherwise>E级</c:otherwise>
</c:choose>
5.<c:forEach>
遍历list
<c:forEach items =”${list}” var=”usermodel” varStatus=”i”>
<td>${i.index+ 1 }</td>
<td>${userModel.a_id}</td>
<td>${userModel.e_no}</td>
<td>${userModel.a_name}</td>
<td>${userModel.a_pass}</td>
</c:forEach>
Items:要被循环的信息
Var: 代表当前条目的变量名称
varStatus,这个属性用来指定接收“循环状态”的变量名
<%
List<String> names = new ArrayList<String>();
names.add("zhangSan");
names.add("liSi");
names.add("wangWu");
names.add("zhaoLiu");
pageContext.setAttribute("ns", names);
%>
<c:forEach var="item" items="${ns }">
<c:out value="name: ${item }"/><br/>
</c:forEach>
Fmt标签库的简单用法
fmt标签库是用来格式化输出的,通常需要格式化的有时间和数字。
格式化时间:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
......
<%
Date date = new Date();
pageContext.setAttribute("d", date);
%>
<fmt:formatDate value="${d }" pattern="yyyy-MM-dd HH:mm:ss"/>