JSTL在百度百科中的定义:
JSTL(Java server pages standarded tag library,即JSP标准标签库)是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。
要在JSP页面中使用 JSTL,首先要引入jar包,然后再页面中使用编译器指令<%@ taglib%>
来引入对应的标签库
JSTL中的核心库 prefix为c,介绍以下几个标签
-
c:out
,c:set
,c:remove
set 即是向作用域中添加一个参数,默认是放在pageContext作用域中,可用
scope
属性指定存放的作用域out 是向页面输出内容,默认是取pageContext作用域中的,可用
scope
属性指定要取的作用域remove 是删除作用域中对应的参数,默认是删除所有作用域中对应的参数,可用
scope
属性指定作用域 -
c:if
test
属性返回一个布尔值,根据该布尔值决定是否显示c:if
起始标签和结束标签之间的值 -
c:choose
,c:when
,c:otherwise
相当于java中的
if
-->if else
-->else
用法如下:<c:set var="score" value="73"></c:set> <c:choose> <c:when test="${score > 90}">优秀</c:when> <c:when test="${score > 70}">良好</c:when> <c:when test="${score > 60}">及格</c:when> <c:otherwise>轻点打!!!</c:otherwise> </c:choose>
访问后显示结果为
良好
-
c:foreach
用于对作用域中的数据进行循环,它有以下几个属性
begin
,end
循环的起始和结束step
步长items
要循环的数据var
定义一个变量名表示当前循环到的变量varStatus
表示当前循环项的状态实例demo如下:
<% List persons = new ArrayList(); persons.add(new Person("张三1",18,"男")); persons.add(new Person("张三2",18,"男")); persons.add(new Person("张三3",18,"男")); persons.add(new Person("张三4",18,"男")); request.setAttribute("persons",persons); %> <table border="1px"> <c:forEach items="${persons}" var="person" varStatus="statu"> <tr> <td>${statu.index}</td> <td>${person.name}</td> <td>${person.age}</td> <td>${person.gender}</td> <td>${statu.count}</td> </tr> </c:forEach> </table>
展示如下: