6

Trong play framework 1.x có sử dụng được một số phần mở rộng java kèm cho cỗ máy template: http://www.playframework.org/documentation/1.2.3/javaextensionsLàm thế nào để thực hiện pluralize & phần mở rộng khác sử dụng play framework 2.0

Tôi đang tìm kiếm các chức năng tương tự trong play framework 2.0. Ví dụ như làm thế nào tôi sẽ làm điều này?

colour${['red', 'green', 'blue'].pluralize()} 

tôi đang làm điều này malually bây giờ:

We have @colours.size [email protected](colours.size > 0){s} 

phải là một cách sạch tái sử dụng nhiều hơn để làm điều này?

Trả lời

10

Bạn có thể tận dụng mẫu Scala pimp my lib để triển khai một cái gì đó tương đương với Play 1.x Java extensions.

Ví dụ, phương pháp pluralize vào bộ sưu tập có thể được thực hiện như sau:

// File app/views/pimps.scala 
package views 

package object pimps { 
    class PimpedTraversable[A](col: Traversable[A]) { 
    def pluralize = if (col.size == 1) "" else "s" 
    } 

    implicit def pimpTraversable[A](col: Traversable[A]) = new PimpedTraversable(col) 
} 

Sau đó, bạn có thể sử dụng nó như sau:

@import views.pimps._ 

We have @colours.size [email protected] 
+0

Đây có phải là có thể trong Java? –

+0

Pimps phải được viết bằng Scala nhưng chúng có thể được sử dụng trong các khuôn mẫu được gọi bởi bộ điều khiển Java. –

+0

oh đúng rồi! Tốt đẹp! Cảm ơn :) –

Các vấn đề liên quan