1. 如何使用JSTL
1)在项目中引用JSTL的2个 jar 文件和标签库描述符文件(扩展名为 .tld)
一般开发工具都会自动集成;
2)在JSP 引入指令 `<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>`
uri----->引用某个标签库的配置文件
prefix----->定义功能标签(一般使用 "c" )
2. 通用标签库
标签 | 作用 | 标签解析 |
---|---|---|
<c:set var="variable" value="值" scope="作用域"></c:set> | 定义一个变量的值 | var=”variable”变量名 |
<c:set value="值" target="对象" property="对象的属性名"></c:set> | 定义一个变量的属性值 | 对象可以用EL表达式获取 |
<c:out value="输出的值" default="默认值"></c:out> | 将表达式的结果输出 | 如果value为空则输出默认值 |
<c:remove var="variable" scope="范围"/> | 移除一个变量 | 在指定范围内移除 |
3. 条件标签库
标签 | 作用 | 标签解析 |
---|---|---|
<c:if test="判断条件" var="定义变量(储存判断结果)" scope="定义变量的储存域"></c:if> | 相当于Java的IF判断 | 常用的判定方法 |
<c:choose var="定义变量" scope="定义变量的储存域">
<c:when test="判断条件">
判断为true后要执行的内容
</c:when>
<c:otherwise>
其他情况要执行的内容
</c:otherwise>
</c:choose>
这个标签相当于 Java中的 多重 if 判断
4. 迭代标签库
<c:forEach var="user" items="${requestScope.list }" varStatus="row">
<tr>
<td height="23">
<span class="STYLE1">${user.id }</span>
</td>
<td>
<span class="STYLE1">
<a href="UserUpdateServlet?userId=${user.id}"> ${user.name } </a>
</span>
</td>
<td>
<span class="STYLE1"> ${user.loginName } </span>
</td>
<td>
<span class="STYLE1"> ${user.gender==1?"男":"女" } </span>
</td>
<td>
<span class="STYLE1"> 2</span>
</td>
<td>
<span class="STYLE1">${user.phone }</span>
</td>
<td>
<span class="STYLE1"> ${user.type==1?"管理员":"普通员工"} </span>
</td>
</tr>
</c:forEach>
以上代码的意思是: var——>储存当前循环一次得到的变量
** ***************items——>循环遍历的 对象
** ***************varStatus——>储存索引(类似 当前对象在数组的下标)
每循环一次在 table 表格中 输出一行 当前对象的一些属性