¡La versión 2.0 de Play ya está lista! Ayúdanos a traducir la documentación de la útlima versión y sigue nuestro progreso.

Manuales, tutoriales & referencias

Consulte

Contenidos

Elija la versión

Buscar

Busque con google

Libros

Extensiones Java

Las extensiones Java agregan a nuestros objetos métodos muy útiles para utilizar en las plantillas de las vistas, haciendo a nuestras expresiones todavía un poco más expresivas.

Los ejemplos muestran una expresión de ejemplo embebida en una plantilla, y su resultado en la siguiente línea.

Extensiones de colecciones

join (separador)

Concatena las entradas de nuestra colección, con el separador dado entre cada una de ellas. Devuelve: String.

${['red', 'green', 'blue'].join('/')}
red/green/blue

last()

Devuelve el último elemento en la lista. Devuelve Object.

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

pluralize()

Devuelve una ‘s’ cuando el tamaño de la colección no es 1. Devuelve: String.

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

pluralize(plural)

Devuelve el plural dado cuando el tamaño de la colección no es 1. Devuelve: String.

box${['red', 'green', 'blue'].pluralize('es')}
boxes

pluralize(singular, plural)

Devuelve la forma del plural dado cuando el tamaño de la colección no es 1; devuelve el singular dado cuando el tamaño es igual a 1. Devuelve: String.

journ${['red'].pluralize('al', 'aux')}
journal
 
journ${['red', 'green', 'blue'].pluralize('al', 'aux')}
journaux

Extensiones de fechas

format(format)

Formatea la fecha utilizando el patrón de formato dado. Devuelve: String.

${new Date(1275910970000).format('dd MMMM yyyy hh:mm:ss')}
07 June 2010 01:42:50

format(format, language)

Formatea la fecha utilizando el patrón de formato dado, en el lenguaje indicado. Devuelve: String.

${new Date(1275910970000).format('dd MMMM yyyy hh:mm:ss', 'fr')}
07 juin 2010 01:42:50

since()

Formatea la fecha como un periodo de tiempo en relación al momento actual. Por ejemplo 3 minutes ago (Hace 3 minutos). Devuelve: String.

${new Date(new Date().getTime() - 1000000).since()}
16 minutes ago

Puede refinar la salida utilizando los siguientes mensajes: since.seconds, since.minutes, since.hours, since.days, since.months and since.years.

since(condition)

Formatea la fecha como un periodo de tiempo en relación al momento actual. Si la condición es verdadera, las fechas de hace un mes o más, son formateadas como fecha. Devuelve: String.

Además de los mensajes que acepta since() para refinar la salida, puede utilizar since.format para fechas de hace más de un mes.

${new Date(1262350000000).since(false)}
5 months ago
 
${new Date(1262350000000).since(true)}
Jan 1, 2010

Extensiones del tipo Long

asdate(format)

Formatea un time stamp como una fecha. Devuelve: String - una fecha formateada.

${1275910970000.asdate('dd MMMM yyyy hh:mm:ss')}
07 June 2010 01:42:50

asdate(format, language)

Formatea un timestamp como una fecha, en el lenguaje dado. Devuelve: String - una fecha formateada.

${1275910970000.asdate('dd MMMM yyyy hh:mm:ss', 'fr')}
07 juin 2010 01:42:50

formatSize()

Formatea un número de bytes como el tamaño de un archivo, con unidades.

${726016L.formatSize()}
709KB

Extensiones de mapas (Maps)

asAttr()

Formatea las claves y valores de un mapa como atributos HTML. Devuelve: play.templates.Template.ExecutableTemplate.RawData.

${[id:'42', color:'red'].asAttr()}
id="42" color="red" 

asAttr(condition)

Formatea las claves y valores de un mapa como atributos HTML, sólo si la condición es verdadera. Devuelve: play.templates.Template.ExecutableTemplate.RawData.

${[id:'42', color:'red'].asAttr(true)}
id="42" color="red" 

Extensiones de números

divisibleBy(divisor)

Devuelve verdadero si el número es divisible por el número dado, el divisor. Devuelve: boolean.

${42.divisibleBy(7)}
true

format(format)

Formatea el número utilizando el formato del patrón de número dado. Devuelve: String.

${42.format('000.00')}
042.00

formatCurrency(currencyCode)

Formatea el número como el tipo de moneda para el código de moneda dado, por ejemplo EUR. Devuelve: String.

${42.formatCurrency('EUR').raw()}
€ 42.00

page(pageSize)

Devuelve el número de página, para el tamaño de página dado, interpretando el número como un índice. Devuelve: Integer.

${42.page(10)}
5

pluralize()

Devuelve una ‘s’ cuando el número no es 1. Devuelve: String.

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

pluralize(plural)

Devuelve el plural dado cuando el número no es 1. Devuelve: String.

box${3.pluralize('es')}
boxes

pluralize(singular, plural)

Devuelve el plural dado cuando el número no es 1; devuelve el singular dado cuando el número es igual a 1. Devuelve: String.

journ${1.pluralize('al', 'aux')}
journal
 
journ${3.pluralize('al', 'aux')}
journaux

Extensiones de objeto

addSlashes()

Escapa las comillas simples y dobles agregando barras invertidas a la representación como String del objeto. Devuelve: String.

${"single quote (')".addSlashes().raw()} ${'double quote (")'.addSlashes().raw()}
single quote (\') double quote (\")

capAll()

Cambia a mayúscula la primer letra de cada palabra en la representación como String del objeto. Devuelve: String.

${"lorum ipsum dolor".capAll()}
Lorum Ipsum Dolor

capFirst()

Cambia a mayúscula la primera letra de la primera palabra en la representación como String del objeto. Devuelve: String.

${"lorum ipsum dolor".capFirst()}
Lorum ipsum dolor

cut(substring)

Elimina todas las ocurrencias de la sub-cadena dada. Devuelve: String.

${"lorum ipsum dolor".cut('um')}
lor ips dolor

escape()

Escapa los caracteres reservados de HTML en la representación como String del objeto. Devuelve: String.

${"The <blink>tag</blink> is evil".escape().raw()}
The &lt;blink&gt;tag&lt;/blink&gt; is evil

nl2br()

Reemplaza los caracteres de nueva linea (\n) con su correspondiente tag HTML br. Devuelve: String.

${"one\ntwo".nl2br()}
one<br/>two

Note que en la salida no se escapa el contenido HTML, por lo que el tag br no estará escapado en la salida. Esto significa decir que probablemente usted quiera utilizar escape() para las entradas del usuario:

${userInput.escape().nl2br()}

raw()

Retorna el objeto sin escapar. Devuelve: play.templates.Template.ExecutableTemplate.RawData.

${'<'}
&lt;
 
${'<'.raw()}
<

raw(condition)

Retorna el objeto sin escapar, si la condición es verdadera. Devuelve: play.templates.Template.ExecutableTemplate.RawData.

${'<'.raw(true)}
<

yesNo(‘yes’, ‘no’)

Devuelve el primer parámetro (‘yes’) si el objeto es evaluado como verdadero, y el segundo en caso contrario. Devuelve: String.

${"".yesno('yes', 'no')}
no
 
${"not empty".yesno('yes', 'no')}
yes

Extensiones de String

asXml()

Parsea la cadena XML dada. Devuelve: groovy.util.slurpersupport.GPathResult.

camelCase()

Formatea la cadena dada al estilo CamelCase, como si fuese el nombre de una clase Java. Devuelve: String.

${"lorum ipsum dolor".camelCase()}
LorumIpsumDolor

capitalizeWords()

Cambia a mayúscula la primer letra de cada palabra de la cadena. Devuelve: String.

${"lorum ipsum dolor".capitalizeWords()}
Lorum Ipsum Dolor

escapeHtml()

Escapa caracteres reservados de HTML. Devuelve: String.

${"The <blink>tag</blink> is evil".escapeHtml().raw()}
The &lt;blink&gt;tag&lt;/blink&gt; is evil

escapeJavaScript()

Escapa los caracteres reservados de JavaScript. Devuelve: String.

${"single quote (') double quote (\")".escapeJavaScript().raw()}
single quote (\') double quote (\")

escapeXml()

Escapa los caracteres reservados de XML. Devuelve: String.

${"<>\"&".escapeXml().raw()}
&lt;&gt;&quot;&amp;

noAccents()

Remueve los acentos de las letras de la cadena dada. Devuelve: String.

${"Stéphane Épardaud".noAccents()}
Stephane Epardaud

pad(length)

Rellena la cadena con &nbsp; hasta alcanzar el tamaño dado. Devuelve: string.

${"x".pad(4).raw()}
x&nbsp;&nbsp;&nbsp;

slugify()

Formatea la cadena al estilo ‘slug’ (babosa) para utilizar en URLs evitando los caracteres URL reservados. Devuelve: String.

${"The Play! framework’s manual".slugify()}
the-play-framework-s-manual

urlEncode()

Escapa los caracteres reservados del query string. Devuelve: String.

${"!@#\$%^&()".urlEncode()}
%21%40%23%24%25%5E%26%28%29

Extensiones de arrays de cadenas

add(value)

Agrega el valor dado al final del array. Devuelve: String[].

${(["red", "green", "blue"] as String[]).add('pink').join(' ')}
red green blue pink

contains(string)

Devuelve verdadero si el array contiene la cadena dada. Devuelve: boolean.

${(['red', 'green', 'blue'] as String[]).contains('green')}
true

remove(string)

Elimina del array la cadena dada. Devuelve: String[].

${(['red', 'green', 'blue'] as String[]).remove('green').join(' ')}
red blue