6

In play framework 1.x Ci deve essere utilizzato alcune estensioni Java in bundle per il motore di template: http://www.playframework.org/documentation/1.2.3/javaextensionsCome implementare pluralize e altre estensioni utilizzando play framework 2.0

sto cercando la stessa funzionalità in play framework 2.0. Ad esempio come farei questo?

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

sto facendo questo malually ora:

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

l'deve essere un modo più pulito di più riutilizzabili per fare questo?

risposta

10

È possibile utilizzare il modello Scala pimp my lib per implementare qualcosa di equivalente a Play 1.x Java extensions.

Ad esempio, il metodo pluralize sulla raccolta può essere implementato come segue:

// 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) 
} 

È possibile quindi utilizzarlo come segue:

@import views.pimps._ 

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

Questo è possibile in Java? –

+0

I pimps devono essere scritti in Scala ma possono essere utilizzati in modelli chiamati dai controller Java. –

+0

oh giusto! Bello! Grazie :) –

Problemi correlati