如何访问playframework模板中的Enum字段

Dam*_*ian 6 java enums playframework playframework-1.x

我有一个Enum具有某些字段,我需要在我的play1.2.4模板中访问

public Enum WORKER{
   FARMER,SMITH,GARDENER
}
Run Code Online (Sandbox Code Playgroud)

假设我需要检查模板中的"人"变量是否是农民,史密斯或园丁,我该怎么办?

#{if person.Type==WORKER.FARMER}
   ...do something...
#{/if}
Run Code Online (Sandbox Code Playgroud)

我来了

NullPointerException : Cannot get property 'FARMER' on null object.
Run Code Online (Sandbox Code Playgroud)

因此,模板不知道Enum WORKER.因为无法为Enum创建新实例,我应该如何使Enum可用于模板?

Car*_*ten 11

在模板中使用枚举的绝对类名.例如,如果你的枚举WORKER在包中model.myenums,模板代码将如下所示:

#{if person.Type == model.myenums.WORKER.FARMER}
   ...do something...
#{/if}
Run Code Online (Sandbox Code Playgroud)