2012-03-01 26 views
6

我有一個Enum具有一定的領域,這是我需要在我play1.2.4模板訪問在playframework模板如何訪問枚舉領域

public Enum WORKER{ 
    FARMER,SMITH,GARDENER 
} 

想我需要檢查,如果在模板中的「人」變是農民,鐵匠還是園丁,我該怎麼辦?

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

在這裏,我得到

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

因此,模板不知道枚舉WORKER.Since一個新的實例不能被用於枚舉創建的,我應該怎麼做枚舉可用模板?

+1

什麼是'Status'?你的枚舉被稱爲'工作人員' – talnicolas 2012-03-01 16:06:59

+0

對不起.typo ...無論如何,我知道它..我錯過了包前綴 – 2012-03-01 16:29:48

+0

那麼抽象方法背後呢?防爆。 'worker.isFarmer()' – kdazzle 2016-09-02 19:54:06

回答

10

在模板中使用enum的絕對類名稱。 例如如果你的枚舉WORKER是包model.myenums,模板代碼應該是這樣的:

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