在 freemarker 中切换 enum
我认为切换枚举在 FreeMarker 中是非常基本的事情,因此我可以编写如下内容:
<!-- Doesn't work -->
Dear
<#switch gender>
<#case MALE>
sir
<#break>
<#case FEMALE>
madam
<#break>
<#default>
sir/madam
<#/switch>
但似乎 访问枚举是一件丑陋且复杂的事情。是否有一种正确、干净的方法来打开枚举的值?我应该在我的模型中以不同的方式存储它吗?
I thought that switching over an enum would be something very basic in FreeMarker, so that I could write something like:
<!-- Doesn't work -->
Dear
<#switch gender>
<#case MALE>
sir
<#break>
<#case FEMALE>
madam
<#break>
<#default>
sir/madam
<#/switch>
But it seems that accessing enums is an ugly and complicated matter. Is there a proper, clean way to switch on the values of an enum? Should I store it differently in my model?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以只使用枚举的字符串值(至少使用默认的对象包装器,并且基本上也使用任何其他 BeansWrapper 变体):
或者如果取决于 toString() 是一个问题(也可能是),使用这个:
You could just use the string value of the enums (at least with the default object wrapper, and basically with any other
BeansWrapper
variation too):Or if depending on
toString()
is a problem (and it could be), use this: