相信很多使用jstl的朋友都抱怨过,为什么jstl只有<c:if> 而没有elseif、else。当需要判断多个条件的时候,只能写多个<c:if> 或者使用<c:choose>。
虽然struts有elseif 和 else标签,不过看着就跟多个<c:if> 没什么2样,使用如下:
下面是本人实现的if elseif else。先看看使用代码:
这样代码结构个人觉得更加清晰简单,类似freemarker的if elseif。
实现:
要实现上面说的if elseif,需要继承BodyTagSupport,利用BodyTagSupport的bodyContent的来实现该功能,这里不具体介绍如何实现jsp tag。直接贴出所有代码,有兴趣的自己看看。
tld配置就不贴出来了,因为这个太简单了,大家都知道的。
博文来源:http://www.blogjava.net/BearRui/archive/2010/07/28/jsp_if_elseif_else_tag.html