2016-09-17 89 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