JSTL定义:
JSP standard Tag Library, JSP标准标签库,JSP为开发者提供的一系列标签,使用这些标签可以完成一些逻辑处理,比如循环遍历集合,让代码更加简洁,不再出现JSP脚本穿插的情况。
实际开发中EL和JSTL结合起来使用,JSTL侧重于逻辑处理,EL负责展示。
JSTL的使用
1.需要导入jar包(jstl.jar, standard.jar)
配置moven
从moven导包网站里找到所需要的包,复制下代码,然后copy到pom.xml中
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
2.在JSP页面开始的地方导入JSTL标签库
<% @taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3.在需要的地方使用
<c:forEach items="${list}" var="user" varStatus="status">
<tr>
<td>${user.id }</td>
<td>${user.name }</td>
<td>${user.score }</td>
<td>${user.address.value }</td>
</tr>
</c:forEach>
JSTP优点:
1.提供了统一标签
2.可以用于编写各种动态功能
常用标签
set:向域对象中添加数据
<c:set var="name" value="tom"></c:set>
相当于request.setAttribute(key,value); (默认存pageContext) out:输出域对象中的数据(default属性,获取不到值时候的定义)
<c:out value="${name}" default="未定义"></c:out>
remove:删除域对象中的数据
<c:remove var="name" scope="page"></c:remove>
catch:捕获异常
<c:catch var="error">
<%
int a = 10/0;
%>
</c:catch>
${error}
输出 java.lang.ArithmeticException: / by zero
综合以上的代码,展示JSTL的运用:
<c:set var="name" value="tom"></c:set>
<c:out value="${name}" default="未定义"></c:out>
<hr/>
<c:remove var="name" scope="page"></c:remove>
<c:out value="${name}" default="未定义"></c:out>
<hr/>
<c:catch var="error">
<%
int a = 10/0;
%>
</c:catch>
${error}
输出结果:
其中第一行set将tom传入,
第二行用out将name的值展示,
第三行将name清除
第四行没了name值,out展示出来变成了未定义
接下来用catch标签将可能会出错的代码包裹起来,输出错误
tom
未定义
java.lang.ArithmeticException: / by zero
|