JSTL中判断标签和循环标签

本文介绍了JSTL中的多分支判断标签`<c:choose>`、`<c:when>`和`<c:otherwise>`的使用和实现原理,它们类似于if...else...结构。同时讲解了循环标签的实现思路,针对Collection对象,如List和Map,将数据存入page域并通过EL表达式输出。详细阐述了标签体的处理逻辑及属性状态的管理。
摘要由CSDN通过智能技术生成

接着上一篇继续写一些JSTL核心标签库的实现

1.多分支判断标签:<c:choose></c:choose>,<c:when></c:when><c:oherwise></c:otherwise>

结构:

<c:choose>

<c:when test="">

</c:when>

<c:when test="">

</c:when>

.......

<c:otherwise>

</c:otherwise>

</c:choose>

相当于if, else if,......,else

思路:choose标签只用一个操作那就是输出标签体同时增加一个boolean类型的属性bool,但这不是输入属性,是用来表示当前分支语句的状态的,when标签时先判断先同过getParent方法获得父标签,然后判断如果bool属性为false则在此之前没有符合条件的判断,则判断当前条件是否为真,为真则输出标签体,bool属性设为true,如果bool为true则说明之前已存在符合条件的判断,忽略当前标签.otherwise标签同理.

实现:

tld文件:

<tag>
  	<name>choose</name>
  	<tag-class>com.wjj.label.chooseLabel</tag-class>
  	<body-content>sc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值