как получить доступ к полям Enum в шаблоне playframework - PullRequest
6 голосов
/ 01 марта 2012

У меня есть Enum, который имеет определенные поля, к которым мне нужно получить доступ в моем play1.2.4 шаблоне

public Enum WORKER{
   FARMER,SMITH,GARDENER
}

Предположим, мне нужно проверить, является ли переменная 'person' в шаблоне фермером, кузнецом или садовником, как я могу это сделать?

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

Здесь я получаю

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

Итак, шаблон не знает о Enum WORKER. Так как новый экземпляр не может быть создан для Enum, как мне сделать Enum доступным для шаблона?

1 Ответ

11 голосов
/ 01 марта 2012

Используйте абсолютное имя класса enum в шаблоне.Например, если ваш enum WORKER находится в пакете model.myenums, код шаблона будет выглядеть так:

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