#JSTL
全称: JSP Standard Tag Library , JSP标准标签库
一个不断完善的开放源代码的JSP标签库
用于简化jsp的代码编写,替换<%%>写法,一般与EL表达式配合。
使用?(在动态web工程)
-
导入jar文件到工程的WebContent/web-Inf/lib jstl.jar和 standard.jar
-
在jsp页面上,使用taglib指令,来引入标签库
-
注意:如果想支持EL表达式,那么引入的标签库如下
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core”%>
常用标签
c:set
//声明一个对象,对象的值zhangsan,存储到了page(默认),指定的是session
<c:set var=“name” value=“zhangsan” scope=“session”></c:set>
c:if
//判断test里面的表达式是否满足,如果满足,就执行c:if标签中的输出,c:if是没有else的
<c:set var=“age” value=“18”></c:set>
<c:if test="${ age<= 26}">
年龄小于26
</c:if>
//定义一个变量名flag,去接受前面表达式的值,然后存在session域中
<c:if test="${ age > 26 }" var=“flag” scope=“session”>
年龄大于26岁
</c:if>
c:forEach
// 从1开始遍历到10,得到的结果赋值给I,并且会存储到page域中,step-增幅为2
<c:forEach begin=“1” end=“10” var=“I” step=“2”>
${ I }
</c:forEach>
<%
List list = new ArrayList();
list.add(new User(“zhangsan”, 18));
list.add(new User(“lisi”, 28));
list.add(new User(“zhaowu”, 8));
pageContext.setAttribute(“list”, list);
%>
items:表示遍历哪一个对象,必须写EL表达式
var:遍历出来的每一个元素用user,去接收
<c:forEach var=“user” items="${ list }">
${ user.name }, ${ user.age }
<c:forEach>