jsp標簽${fn:contains()}遇到問題記錄


      在jsp頁面要實現這樣一個功能,列表的某一列字段要顯示的數據,是從后台的一個列表中獲取的,數據庫里面該列存儲的方式是 類似 1,2,3 這樣的 主鍵id數據。顯示的時候要根據id顯示名稱,如果是多個 則要逗號分隔這種。

   第一次是這樣實現的:

   

                          <c:forEach var="cooperation" items="${cooperationTypeList}">
                                                   <c:if test="${fn:contains(entity.cooperationId,cooperation.id)}">
                                                          ${cooperation.cooperationName}
                                                   </c:if>
                                           </c:forEach>

  然而這樣有個問題,比如我剛好list的值里面有一個是 15,而數據庫里面存儲了 1,5,那么就會顯示 兩個 。 這個應該是和contains有關。 只要包含他的一個子集就會全部顯示。

 然后想了想,似乎也沒有好的處理方法。又重新在后台處理了下,將逗號分隔的值放在了一個list里面,之后再jsp里面進行兩個foreach 進行判斷。這樣就好了

  

                            <c:forEach var="cooperation" items="${cooperationTypeList}">
                                                    <c:forEach var="listCooperation" items="${entity.listCooperationId}">
                                                        <c:if test="${cooperation.id==listCooperation}">
                                                        ${cooperation.cooperationName}
                                                        </c:if>
                                                    </c:forEach>
                                                </c:forEach>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM