我认为切换枚举在FreeMarker中会是非常基本的东西,所以我可以这样写:
<!-- Doesn't work -->
Dear
<#switch gender>
<#case MALE>
sir
<#break>
<#case FEMALE>
madam
<#break>
<#default>
sir/madam
<#/switch>
但似乎accessing enums是一个丑陋而复杂的问题。是否有一种正确,干净的方式来打开枚举值?我应该以不同的方式在我的模型中存储它吗?
答案 0 :(得分:15)
您可以使用枚举的字符串值(至少使用默认对象包装器,基本上也可以使用任何其他BeansWrapper
变体):
<#switch gender>
<#case "MALE"> <#-- note the quotes -->
sir
<#break>
...
或者如果依赖于toString()
是一个问题(可能是),请使用:
<#switch gender.name()>
<#case "MALE">
sir
<#break>
...