Java 在列表上应用JSTL if条件
我有一个列表,我正在传递给JSTLJava 在列表上应用JSTL if条件,java,jsp,jstl,Java,Jsp,Jstl,我有一个列表,我正在传递给JSTL <c:forEach items="${actionBean.excessList.newActiveCustomerExcessUIList}" var="customerExcess"> <c:set var="clientName" value="${customerExcess.clientName}" scope="page"></c:se
<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被动式,product=Trading,measure=结算,currency=MZM,LimitateExcess=0,excessAmount=258603000,excessDate=2012年10月2日,maxRiskAmount=258603000,openDate=2013年4月5日,daValueForUser=9,maxRiskDate=2012年10月2日]],CustomerExcessUIBean[客户名称=花旗银行卡拉奇分行,到岸价格=4,最终母公司=汇丰控股有限公司,例外列表=[例外列表][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日]]
问题是
当客户端名称与上面的名称相同时,该字段应显示为空..就像按客户端名称分组一样。如果我正确理解您的问题(如果我没有理解,我很抱歉),您要做的是在内部循环内(循环
${customerExcess.excessList}
),对于第一次迭代,您只希望打印出客户名称。对于其他迭代,您需要一个空白的
。如果是这种情况,则可以使用循环中的状态变量和If
语句来处理,如下所示:
<c:forEach items="${customerExcess.excessList}" var="excess" varStatus="status">
<tr>
<td>
<c:if test="${stat.first}">
<c:out value="${clientName}"></c:out>
</c:if>
</td>
<td><c:out value="${ultimateParent}"></c:out></td>
<td><c:out value="${excess.excessDa }"></c:out></td>
尝试像这样放置上一个元素
<c:set var="clientName" value="${clientName}" />'
'
然后将上一个元素与当前元素进行比较
我想在后端创建平面对象结构,例如
clientName
,clientnamesplay
,ultimateParent
等,并使用您需要的数据(如uniqueclientnamesplay
)填充此bean。毕竟,您可以显示一个ArrayList
,而不是嵌套列表