JSTL介绍
从JSP 1.1规范开始JSP就支持使用自定义标签,使用自定义标签大大降低了JSP页面的复杂度,同时增强了代码的重用性,因此自定义标签在WEB应用中被广泛使用。许多WEB应用厂商都开发出了自己的一套标签库提供给用户使用,这导致出现了许多功能相同的标签,令网页制作者无所适从,不知道选择哪一家的好。为了解决这个问题,Apache Jakarta小组归纳汇总了那些网页设计人员经常遇到的问题,开发了一套用于解决这些常用问题的自定义标签库,这套标签库被SUN公司定义为标准标签库(The JavaServer Pages Standard Tag Library),简称JSTL。使用JSTL可以解决用户选用不同WEB厂商的自定义标签时的困惑,JSP规范同时也允许WEB容器厂商按JSTL标签库的标准提供自己的实现,以获取最佳性能。由于JSTL是在JSP 1.2规范中定义的,所以JSTL需要运行在支持JSP 1.2及其更高版本的WEB容器上,例如,Tomcat 5.5。
JTSL概念
JSTL(Jsp标准标签库),允许使用标签开发Jsp页面。应用:基本输入输出、流程控制、循环、XML文件剖析、数据库查询及国际化和文字格式标准化的应用等。
JTSL作用
作用:简化JSP页面的Java代码。代替<% java 代码 %>
JSTL核心标签库引入
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
常用标签的使用
- if标签
- ``test参数中为判断条件,支持JSP语言,var参数返回表达式的值:true|false
<c:if test="${param.name == 'zhangsan'}" var="v" >
<h2>${v}</h2>
</c:if>
- foreach标签
<%
ArrayList<Student> list = new ArrayList<>();
Student zhangsan = new Student(1, "zhangsan", true);
Student lisi = new Student(2, "李四", false);
Student wangwu = new Student(3, "王五", true);
list.add(zhangsan);
list.add(lisi);
list.add(wangwu);
request.setAttribute("studentList", list);
%>
<c:forEach items="${ requestScope.studentList }" var="ele">
no:${ele.no}</br>
name:${ ele.name }</br>
sex:${ele.sex ? "男" :"女"}</br>
</c:forEach>
- choose,when,otherwise标签(类似swith)
choose标签只是作为父标签使用
<c:choose>
<c:when test="${param.score > 90}">
<h2>优秀</h2>
</c:when>
<c:when test="${param.score > 60}">
<h2>及格</h2>
</c:when>
<c:otherwise>
<h2>不及格</h2>
</c:otherwise>
</c:choose>