如何在Play框架模板中访问枚举字段

6

我有一个 枚举,它有一些字段,我需要在我的 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.

因此,模板不知道枚举类型WORKER。由于无法为枚举类型创建新实例,那么我该如何使枚举类型可用于模板中呢?


1
什么是Status?你的枚举被称为WORKER - talnicolas
抱歉,打错了。不过,我解决了。我漏掉了包前缀。 - Damon Julian
将其抽象为一个方法怎么样?例如:worker.isFarmer() - kdazzle
1个回答

11

在模板中使用枚举的绝对类名。 例如,如果您的枚举WORKER位于包model.myenums中,则模板代码如下:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接