JSTL标签库的使用

【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}&emsp;${s.index}&emsp;${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}&emsp;
</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>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值