之前在做SSH的一个项目中用到了s标签遍历Action中传来的areaid(地区表id)值进行多条件判断。再遇到这个问题时,我也从网上看了很多。大多数都是单条件判断,还有一些是错的。所以在此做个笔记。
直接上代码吧!
Java代码
第一部分:
你的jsp中需要导入s标签
<%@taglib uri="/struts-tags" prefix="s"%>
第二部分:
这里就直接展示关于地区的s:if的多条件判断,其他的内容就不显示了,标签可能有些错乱。
其中“prolist”中存放着我的实体对象List集合,“pro.areaid”则是我需要对其值进行判断。
<s:iterator value="#request.prolist" var="pro">
<tr>
<td><s:if test="#pro.areaid ==1">北京</s:if>
<s:elseif test="#pro.areaid == 2">天津</s:elseif>
<s:elseif test="#pro.areaid == 3">山西省</s:elseif>
<s:elseif test="#pro.areaid == 4">河北省</s:elseif>
<s:elseif test="#pro.areaid == 5">内蒙古自治区</s:elseif>
<s:elseif test="#pro.areaid == 6">河南省</s:elseif>
<s:elseif test="#pro.areaid == 7">湖北省</s:elseif>
<s:elseif test="#pro.areaid == 8">湖南省</s:elseif>
<s:elseif test="#pro.areaid == 9">上海市</s:elseif>
<s:elseif test="#pro.areaid == 10">江苏省</s:elseif>
<s:elseif test="#pro.areaid == 11">浙江省</s:elseif>
<s:elseif test="#pro.areaid == 12">安徽省</s:elseif>
<s:elseif test="#pro.areaid == 13">福建省</s:elseif>
<s:elseif test="#pro.areaid == 14">江西省</s:elseif>
<s:elseif test="#pro.areaid == 15">山东省</s:elseif>
<s:elseif test="#pro.areaid == 16">台湾省</s:elseif>
<s:elseif test="#pro.areaid == 17">广东省</s:elseif>
<s:elseif test="#pro.areaid == 18">海南省</s:elseif>
<s:elseif test="#pro.areaid == 19">广西壮族自治区</s:elseif>
<s:elseif test="#pro.areaid == 20">香港特别行政区</s:elseif>
<s:elseif test="#pro.areaid == 21">陕西省</s:elseif>
<s:elseif test="#pro.areaid == 22">甘肃省</s:elseif>
<s:elseif test="#pro.areaid == 23">青海省</s:elseif>
<s:elseif test="#pro.areaid == 24">宁夏回族自治区</s:elseif>
<s:elseif test="#pro.areaid == 25">新疆维吾尔自治区</s:elseif>
<s:elseif test="#pro.areaid == 26">黑龙江省</s:elseif>
<s:elseif test="#pro.areaid == 27">吉林省</s:elseif>
<s:elseif test="#pro.areaid == 28">辽宁省</s:elseif>
<s:elseif test="#pro.areaid == 29">重庆省</s:elseif>
<s:elseif test="#pro.areaid == 30">四川省</s:elseif>
<s:elseif test="#pro.areaid == 31">贵州省</s:elseif>
<s:elseif test="#pro.areaid == 32">云南省</s:elseif>
<s:elseif test="#pro.areaid == 33">西藏自治区</s:elseif>
<s:elseif test="#pro.areaid == 34">澳门特别行政区</s:elseif>
</td>
</tr>
</s:iterator>
补充说明:再看有些大佬的博客中test中的要进行判断的数值上添加单引号
eg:<s:elseif test="#pro.areaid == ‘34’">澳门特别行政区</s:elseif>