接着上一篇继续写一些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