6

का उपयोग कर playframework 1.x में templating इंजन के लिए कुछ बंडल जावा एक्सटेंशन हुआ करता था pluralize और अन्य एक्सटेंशन लागू करना सीखें: http://www.playframework.org/documentation/1.2.3/javaextensionsPlayframework 2.0

मैं एक ही कार्यक्षमता के लिए देख रहा हूँ playframework 2.0 में। उदाहरण के लिए मैं यह कैसे करूँगा?

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

मैं इस malually अब कर रहा हूँ:

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

यह करने के लिए एक क्लीनर और अधिक पुन: प्रयोज्य तरीका होना चाहिए?

उत्तर

10

आप के बराबर कुछ लागू करने के लिए pimp my lib स्कैला पैटर्न का लाभ उठा सकते हैं।

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

फिर आप इसका इस्तेमाल कर सकते हैं इस प्रकार है::

@import views.pimps._ 

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

जावा में यह संभव है

उदाहरण के लिए, इस प्रकार संग्रह पर pluralize विधि लागू किया जा सकता? –

+0

पिंप को स्कैला में लिखा जाना चाहिए लेकिन इन्हें जावा नियंत्रकों द्वारा बुलाए गए टेम्पलेट्स में उपयोग किया जा सकता है। –

+0

ओह ठीक है! अच्छा! धन्यवाद :) –

संबंधित मुद्दे