2011-10-04 32 views
12

Tôi đang sử dụng vận tốc 1.7 và trong vòng lặp foreach tôi muốn in số lượng. Trong mẫu Tôi có chuỗi sau đây trong một phần # foreach/# cuối:

Count: $foreach.count 

và được mong đợi để xem trong kết quả điều gì đó render như

Count: 1 
... 
Count: 2 
... 

nhưng tất cả tôi thấy là:

Count: $foreach.count 
... 
Count: $foreach.count 
... 

Bất kỳ ý tưởng nào tôi đang làm sai?

Trả lời

7

Mã của bạn là một phần, chúng tôi không thấy chỉ thị foreach.

khác, tôi biết rằng vòng lặp foreach đã một biến built-in gọi $counter, mặc dù trong hướng dẫn họ tham khảo $foreach.count

+3

Trong Velocity <1,7 là Có cách nào để cấu hình tên của biến truy cập sử dụng "directive.foreach.counter. name = velocityCount "trong các thuộc tính đã khởi tạo động cơ (đây là từ phiên bản mặc định). Có vẻ như họ đã xóa khả năng thực hiện thay đổi đó và đã đặt tên cho nó là $ {foreach.counter}. –

+1

đúng, cảm ơn $ {syntax.precising} :) –

+0

Tôi đã quen với việc sử dụng ký hiệu chính thức ... tiết lộ chi tiết hơn một chút nhưng đối với phần rõ ràng nhất. –

19

Cả $foreach.count cũng không $counter làm việc cho tôi.

This answer đề xuất sử dụng $velocityCount và nó đã hoạt động đối với tôi.

+1

Hãy thử vận ​​tốc 1.7! – yannisf

+0

Điều này cũng phù hợp với tôi.Chúng tôi đang sử dụng vận tốc 1.5 và do sử dụng khung bên thứ ba, chúng tôi không thể chuyển sang 1.7 –

6

Tôi không biết tại sao biến tích hợp vòng lặp foreach được gọi là $ count không hoạt động như hướng dẫn tham khảo. Nhưng $ velocityCount đã làm việc cho tôi.

Có thuộc tính được gọi là directive.foreach.counter.name là velocityTrong tệp velocity.properties, do đó, biến số đếm mặc định có thể không hoạt động.

0

$velocityCount là công trình đối với tôi và tôi đang sử dụng tốc độ 1,5 $foreach.count & $counter

2

k.honsalis câu trả lời là bị phản đối.

Tại thời điểm này, bạn chỉ có thể sử dụng $ velocityCount, mặc dù tài liệu này sẽ đề cập đến các phương pháp không dùng nữa.

#foreach($item in $items) 
counter 0: $foreach.index 
counter 1: $foreach.count 
counter 2: $counter 
counter 3: $velocityCount 
#end 

Output: 

$foreach.index 
$foreach.count 
$counter 
1 
5

Tôi đã thử với $counter & $foreach.count nhưng không phải của các làm việc cho tôi.

Tuy nhiên, thẻ $velocityCount đã hoạt động và bên dưới là ví dụ.

Nhập mã:

#foreach($entry in $entries)  
    <p>In for Loop count is : $velocityCount</p>  
#end  

Output:

In for Loop count is : 1 

In for Loop count is : 2 

In for Loop count is : 3 
Các vấn đề liên quan