2016-09-17 42 views
0

我有一个请求标题映射,其中一个标题键值包含一个字符串,如下面的示例所示。JSTL for each循环下一个索引值的最佳方式

headerkey = abc=227,de_f=AE,ghf=ABCD,ijk=25.25,lmn=55.28,opq=GMT+4,rst=AS,uvw=vhigh,xyz=5000 

现在我想在一个优化的循环条件

<c:forEach var="nextHeader" items="${header}"> <c:if test = "${nextHeader.key == 'headerkey'}"> <c:set var="headerkeystring" value="${nextHeader.value}"/> <c:set var="splitstring" value="${fn:split(headerkeystring, ',')}" /> <c:forEach var="i" items="${splitstring}"> <c:set var="subsplit" value="${fn:split(i, '=')}" /> <c:forEach var="k" items="${subsplit}"> <c:if test = "${k == 'de_f'}"> <c:out value="${k + 1}" /> <!-- Expecting here to print "AE" --> </c:if> </c:forEach> </c:forEach> </c:if> </c:forEach>

回答

0

更改为只获取de_f值即AEC:的forEachc:出 a s下面显示,应该给你的结果

<c:forEach var="k" items="${subsplit}" varStatus="status"> 
<c:if test = "${k == 'de_f'}"> 
<c:out value="${subsplit[status.index+1]}" /> <!-- This Should print "AE" --> 
</c:if> 
</c:forEach> 
+0

谢谢它的工作 – krish