2012-05-21 40 views
1

想知道是否可以使用JSTL從數組中刪除最後一項?目前我使用c:url將參數(從數組)添加到超鏈接。我希望能夠刪除最後一個參數,以及...JSTL:刪除數組中的最後一項

這裏是爲C代碼:URL附加參數

<c:url value="search" var="url"> 
    <c:param name="q" value="${q}"/> 
    <c:forEach var="field" items="${fq}"> 
     <c:param name="fq" value="${field}"/> 
    </c:forEach> 
</c:url> 

回答

4

不,那是不可能的。你不能在JSTL中操作數組。您最高可以將最後一項設置爲null,但這不會改變陣列的長度。

你的具體情況有但另一種方法:你可以檢查如果您當前迭代的最後一個數組項通過檢查LoopTagStatus#isLast(),然後就跳過項目共在<c:param>

<c:url value="search" var="url"> 
    <c:param name="q" value="${q}"/> 
    <c:forEach var="field" items="${fq}" varStatus="loop"> 
     <c:if test="${not loop.last}"> 
      <c:param name="fq" value="${field}"/> 
     </c:if> 
    </c:forEach> 
</c:url> 

注意我刪除了fn:length()檢查,因爲這是不必要的。如果沒有項目,<c:forEach>已經不會迭代。

+0

謝謝,我會給它一個旋風。 – milesmiles55

+1

完美地工作,謝謝! – milesmiles55

+0

*編輯* fn:長度()已被刪除 – milesmiles55

相關問題