2012-03-01 11 views
6

tengo una Enum que tiene ciertos campos, lo que necesito para acceder a mi plantilla play1.2.4cómo acceder a los campos de enumeración en la plantilla playframework

public Enum WORKER{ 
    FARMER,SMITH,GARDENER 
} 

Supongamos que tengo que comprobar si una variable 'persona' en la plantilla es un granjero, herrero o jardinero, ¿cómo puedo hacerlo?

#{if person.Type==WORKER.FARMER} 
    ...do something... 
#{/if} 

Aquí tengo

NullPointerException : Cannot get property 'FARMER' on null object. 

Así, la plantilla no saber acerca de la enumeración WORKER.Since una nueva instancia no se puede crear para ENUM, ¿cómo debo hacer la enumeración a disposición de la plantilla ?

+1

Lo que es'Estado'? su enum se llama 'WORKER' – talnicolas

+0

sorry..typo ... De todos modos, lo averiguo ... Me faltaba el prefijo del paquete –

+0

¿Qué hay de abstraer eso detrás de un método? Ex. 'worker.isFarmer()' – kdazzle

Respuesta

10

Utilice el nombre de la clase absoluta de la enumeración en la plantilla. P. ej. si su enumeración WORKER está en el paquete model.myenums, el código de la plantilla se vería así:

#{if person.Type == model.myenums.WORKER.FARMER} 
    ...do something... 
#{/if} 
Cuestiones relacionadas