要应用于列表的java JSTL if条件
我必须通过JSTL
<c:forEach items="${actionBean.excessList.newActiveCustomerExcessUIList}" var="customerExcess">
<c:set var="clientName" value="${customerExcess.clientName}" scope="page"></c:set>
<c:set var="ultimateParent" value="${customerExcess.ultimateParent}"
scope="page"></c:set>
<c:forEach items="${customerExcess.excessList}" var="excess">
<tr>
<td><c:out value="${clientName}"></c:out></td>
<td><c:out value="${ultimateParent}"></c:out></td>
<td><c:out value="${excess.excessDa }"></c:out></td>
输出页面是
列表中的值是
[CustomerExcessUIBean[clientName=Golden Eagle Retail Grp Ltd,cif=1,ultimateParent=HSBC Holdings Plc,excessList=[ExcessUIBean][notifyDaHolder=true,excessId=1,excessDa=DA6,status=New被动式,product=Vostro,measure=Primary,currency=USD,LimitateExcess=5000000,excessAmount=95515540.48,excessDate=2012年10月2日,maxRiskAmount=95515540.48,openDate=2012年10月2日,daValueForUser=9,maxRiskDate=2012年10月2日],ExcessUIBean[notifyDaHolder=true,excessId=7,excessDa=DA6,status=New被动式,product=Vostro,measure=Primary,currency=USD,LimitateExcess=5000000,excessAmount=95515540.48,excessDate=2012年10月2日,maxRiskAmount=95515540.48,openDate=2012年10月2日,daValueForUser=9,maxRiskDate=2012年10月2日],ExcessUIBean[notifyDaHolder=true,excessId=9,excessDa=DA7,status=New Passive,product=Trading,measure=Settlement,currency=MZM,LimitateExcess=0,excessAmount=258603000,excessDate=2012年10月2日,maxRiskAmount=258603000,openDate=2013年4月5日,daValueForUser=9,maxRiskDate=2012年10月2日]],CustomerExcessUIBean[clientName=Citibank Na Karachi Br,cif=4,ultimateParent=HSBC Holdings Plc,excessList=[ExcessUIBean][notifyDaHolder=true,excessId=4,excessDa=-,status=New被动式,product=Vostro,measure=Primary,currency=USD,LimitateExcess=5000000,excessAmount=95515540.48,excessDate=2012年10月2日,maxRiskAmount=95515540.48,openDate=2012年10月2日,daValueForUser=9,maxRiskDate=2012年10月2日]]
问题是 当客户端名称与上述名称相同时,该字段应显示为空。。就好像按客户机名称分组一样
# 1 楼答案
试着像这样放置前面的元素
然后比较前面的元素和现在的元素
SEE HERE
# 2 楼答案
如果我正确地理解了您的问题(如果我没有理解,我很抱歉),您要做的是在内部循环中(在
${customerExcess.excessList}
上循环的那一个),对于第一次迭代,您只想打印出客户名称。对于其他迭代,您需要一个空的<td>
。如果是这种情况,那么您可以使用循环中的状态变量和if
语句来处理它,如下所示:# 3 楼答案
我想在后端创建平面对象结构,例如
clientName
、clientNameDisplay
、ultimateParent
等等,并用您需要的数据填充这个bean,比如uniqueclientNameDisplay
。毕竟,您可以显示一个ArrayList
而不是嵌套列表