2012-03-01 3 views
6

Mam Enum który ma pewne pola, które trzeba uzyskać dostęp w moim play1.2.4 szablonuJak uzyskać dostęp do pola Enum w szablonie playframework

public Enum WORKER{ 
    FARMER,SMITH,GARDENER 
} 

Załóżmy, że trzeba sprawdzić, czy „osoba” zmiennej w szablonie jest rolnikiem, kowalem lub ogrodnikiem, jak mogę to zrobić?

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

Tu się

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

Tak, szablon nie wie o wyliczenia WORKER.Since nową instancję nie mogą być tworzone dla Enum, w jaki sposób należy dokonać Enum dostępny do szablonu ?

+1

Co jest 'status'? twoje wyliczenie jest nazywane 'WORKER' – talnicolas

+0

sorry..typo ... W każdym razie, rozumiem to .. Brakowało mi prefiksu pakietu –

+0

Co z abstrahowaniem, że za metodą? Dawny. 'worker.isFarmer()' – kdazzle

Odpowiedz

10

Użyj bezwzględnej nazwy klasy enum w szablonie. E.g. jeśli enum WORKER jest w opakowaniu model.myenums kod szablonu będzie wyglądać następująco:

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