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

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

   第一次是這樣實現的:jsp

   

                          <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有關。 只要包含他的一個子集就會所有顯示。oop

 而後想了想,彷佛也沒有好的處理方法。又從新在後臺處理了下,將逗號分隔的值放在了一個list裏面,以後再jsp裏面進行兩個foreach 進行判斷。這樣就行了spa

  

                            <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>
相關文章
相關標籤/搜索