2012-03-01 31 views
6

Benerişme Enum alanları

public Enum WORKER{ 
    FARMER,SMITH,GARDENER 
} 

varsayalım ben kontrol etmeliyim benim play1.2.4 şablonunda erişmesi gereken bazı alanlar vardır bir Enum eğer şablonunda bir 'kişi' değişken Bir çiftçi, smith veya bahçıvan, nasıl yapabilirim?

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

Yani, Enum WORKER.Since hakkında yeni bir örneğini bilmiyor şablon Enum için oluşturulamaz İşte

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

Ben olsun, nasıl şablona Enum kullanılabilir yapmak gerekir ?

+1

'Status' nedir? enum 'WORKER' – talnicolas

+0

üzgünüm..typo olarak adlandırılır ... Her neyse, anladım ... Paket önekini kaçırıyordum –

+0

Bir yöntemin ardında yatan şey nedir? Ör. 'Worker.isFarmer() ' – kdazzle

cevap

10

Enum'un mutlak sınıf adını şablonda kullanın. E.g. senin enum WORKER pakette model.myenums ise, şablon kodu şu şekilde görünecektir:

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