JSTL标签库可以使得jsp文件的代码更为简洁,而且本身也很方便
下面说一说如何使用
-
导入相关jar包
使用JSTL标签库需要standard.jar
和jstl.jar
两个jar包,可以到apache官网下载
jstl.jar下载地址
standard.jar下载地址
然后一般都是将这两个jar包放在/WEB-INF/lib/目录下(根据自己的情况而定) -
在jsp中导入标签库
在jsp最前面添加如下指令:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
这句话的代表我们使用核心标签库,如果要使用其他标签库的话修改相应的uri和prefix属性,不过大多数情况下使用核心标签库就够了 -
使用标签
常用的标签有:
1.<c:out>
: 用来向页面输出一段文本
<c:out value="xxx" /> // 输出 "xxx"
2.<c:if>
: 进行条件判断
<c:if test="testCondition">
bodycontent
</c:if>
/**
testCondition代表判断条件,比如`test="${Count == 1}"`,使用了EL表达式,${x}表示引用x变量
bodycontent代表判断条件为成立时执行的操作
**/
3.<c:forEach>
: 对集合对象进行迭代,可以迭代Set、LIst、Map、数组、ArrayList等可迭代对象
// 第一种迭代: 迭代可迭代对象
<c:forEach items="${list}" var="user">
<span> ${user} ${user.name} </span>
</c:forEach>
/**
items是迭代的对象,可以是EL表达式形式,也可以是jsp语法形式,如 <%=list%>
var是迭代变量,可以在循环中使用该变量代表正在迭代的元素
循环体中使用了${}来引用迭代元素
**/
// 第二种迭代: 迭代具体的数值
<c:forEach begin="0" end="4" var="i" step="1">
${i}
</c:forEach>
/**
begin是迭代起点
end是迭代终点,包括这个数,也就是迭代了0, 1, 2, 3, 4
var是迭代变量
step是迭代步长,设置为1的话每次加一,也可以设置为其他的数值
也是使用同样的方法引用迭代变量----> ${}
**/
除此之外还有更复杂的用法,比如两种混合使用,在这里就不在阐述了,毕竟我也不太懂。不过上面的两种也够使用了