Một điều tôi chưa bao giờ thích về JSTL (thực ra tôi nghĩ là điều duy nhất :)) là không có cách nào để lấy kích thước của danh sách/bộ sưu tập.
EDIT:. ok, vì vậy nó là có thể nhưng tôi không biết nó :(see here
Thẻ forEach
có varStatus
thuộc tính mà bạn có thể sử dụng để xác định các chỉ số của hàng (index
/count
thuộc tính trên biến varStatus
) nhưng bạn phải kiểm tra xem bạn đang ở vị trí cuối cùng trong danh sách, có nghĩa là có kích thước danh sách trước:
<c:forEach items="${fileList}" var="current" varStatus="status">
...
<c:if test="${not (status.count eq listSize)}">,</c:if>
</c:forEach>
nhưng bạn sẽ phải đặt thứ e listSize
trong phạm vi, theo cách thủ công, trước khi thực hiện loại điều này.
Những gì tôi đã làm trong một dự án của tôi là tạo ra cho mình một thẻ mà có một bộ sưu tập và trả về giá trị:
<myLib:collectionSize collection="${fileList}" var="listSize" />
<c:forEach items="${fileList}" var="current" varStatus="status">
...
<c:if test="${not (status.count eq listSize)}">,</c:if>
</c:forEach>
Bạn có thể làm như vậy nếu bạn có loại mã này thường xuyên (nếu không bạn chỉ có thể thêm nó vào phạm vi với bất kỳ điều gì thuận tiện cho bạn).
Nguồn
2010-06-23 06:10:51
tất cả các yếu tố cần} nhưng cuối cùng không phải có dấu phẩy, – nokheat