【1】set标签
设置/修改域中/映射中值,设置/修改javaBean中已有的值
属性:
scope | 设置值所在域 |
var | 变量名 |
target | 指向域中的值 |
property | 域中的属性名称(多指map,Javabean) |
value | 属性名对应的值或变量值 |
(1)设置域中的值
<c:set scope="request" var="name" value="张三"></c:set> ${requestScope.name}
(2)设置映射的值
<% Map<String,String> map = new HashMap<String,String>(); pageContext.setAttribute("map",map); %> <c:set target="${map}" property="age" value="18"></c:set> ${map.age}
注意:使用泛型的时候,要不填写指定泛型,要不就不要书写
(3)设置Javabean的值
<% Person per = new Person(); pageContext.setAttribute("per",per); %> <c:set target="${per}" property="addr" value="china"></c:set> ${per.addr}
注意:javabean中提供的setter方法是用于在页面中设置值的方法。getter方法是用于在页面中获取值的方法。如果未提供这个两个方法,则无法在其他位置设置和获取值。
【2】remove标签
删除指定域中的,指定名称的内容,或者指定名称的,全部域中的内容
scope | 设置值所在域 |
var | 变量名 |
(1)删除指定域中的,指定名称的内容
<c:remove var="name" scope="request"></c:remove>
(2)指定名称的,全部域中的内容
<c:remove var="name" ></c:remove>
【3】if标签
用于条件判断,条件为true时,执行if标签中的内容
test | 判定条件 |
scope | 设置值所在域(可省略) |
var | 返回判断的结果(可省略) |
<c:set scope="page" var="num" value="100"></c:set> <c:if test="${num<100}" scope="page" var="flag"> num值小于100 </c:if> ${flag}
注意:jstl没有与if配套的else标签,如果想使用else标签,可以在写一个if标签进行判断。
【4】choose标签与when标签、otherwise标签
choose标签与when标签、otherwise标签配套使用的相当于分支结构
test | 判定条件 |
<c:choose> <c:when test="${num<10}">num是一个小于10的数</c:when> <c:when test="${num<100}">num是一个小于100的数</c:when> <c:when test="${num<1000}">num是一个小于1000的数</c:when> <c:otherwise>num是一个大于1000的数</c:otherwise> </c:choose>
【5】forEach标签
forEach标签多用于循环遍历列表,数组等。
items | 存放遍历的数据 |
var | 变量名 |
begin | 开始索引 |
end | 结束索引 |
step | 遍历步长 |
varStatus | 遍历状态 |
(1)输出0-10之间的偶数
<c:forEach var="i" varStatus="s" begin="0" end="10" step="2"> ${i} ${s.index} ${s.count}<br> </c:forEach>
结果:
0 0 1
2 2 2
4 4 3
6 6 4
8 8 5
10 10 6
注意:begin要大于等于0,否则会报错
varStatus中的index表示第几个索引,count则表示共循环了几次
(2)输出List数组中的内容
<% List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); pageContext.setAttribute("list",list); %> <c:forEach items="${list}" var="i"> ${i}  </c:forEach>
通过items接收作用域中的list属性。在后续开发中会被经常使用。
【6】catch标签
用于捕获界面中的异常
var | 异常变量名 |
<c:catch var="e"> ${"a"+0} </c:catch> ${e.message}
【7】forTokens标签
用于切割字符串
items | 存放切割的数据 |
var | 变量名 |
delims | 被切割字符 |
<c:forTokens items="${'唱歌#跳舞#打球'}" delims="#" var="like"> ${like} </c:forTokens>