Tôi đang sử dụng MarkupBuilder tiện dụng của Groovy để xây dựng một trang HTML từ nhiều nguồn dữ liệu khác nhau.Phát hiện mục đầu tiên và cuối cùng bên trong Groovy mỗi {} đóng
Một điều tôi đang cố gắng làm một cách độc đáo là xây dựng một bảng HTML và áp dụng các lớp kiểu khác nhau cho các hàng đầu tiên và cuối cùng. Đây có lẽ là minh họa tốt nhất với một ví dụ ...
table() {
thead() {
tr(){
th('class':'l name', 'name')
th('class':'type', 'type')
th('description')
}
}
tbody() {
// Add a row to the table for each item in myList
myList.each {
tr('class' : '????????') {
td('class':'l name', it.name)
td('class':'type', it.type)
td(it.description)
}
}
}
}
Trong phần <tbody>
, tôi muốn thiết lập các lớp học của phần tử <tr>
là một cái gì đó khác nhau tùy thuộc xem các mục hiện tại myList
là lần đầu tiên hoặc Mục cuối cùng.
Có cách thức Groovy-ified hay không để thực hiện việc này mà không cần sử dụng hướng dẫn sử dụng để kiểm tra các chỉ mục mục theo kích thước danh sách bằng cách sử dụng một cái gì đó như eachWithIndex{}
?
đẹp tip, không biết về các phương pháp đó. – xlson
Hữu ích, cảm ơn. Như trên, đã không thấy những phương pháp đó trước đây ... – tomtheguvnor
Chỉ cần nhớ rằng, đầu tiên() và cuối cùng() chỉ hoạt động trên Danh sách, không phải Bản đồ hoặc Tập hợp (theo http://groovy.codehaus.org/groovy-jdk /) – sbglasius