EL枚举字符串处理

Chr*_*ris 3 java jsp el spring-mvc

我有一个变量从一个映射到枚举的spring控制器传递给我的JSP视图.它打印在'ENUM_VALUE',不是非常用户友好.

将此转换为更易读的形式(如"枚举值")的最佳方法是什么.

我宁愿使用纯粹的EL解决方案,以避免在控制器中写入更多代码来解析它,但所有评论都表示赞赏.

Bal*_*usC 5

这个价值来自Enum#name()方法.只需在枚举中添加一个getter,它返回友好名称.例如

public String getFriendlyName() {
    return name().toLowerCase().replace("_", " ");
}
Run Code Online (Sandbox Code Playgroud)

你可以在EL中使用它${bean.someEnum.friendlyName}.

  • 在2.1 JSP-EL(8.05.2006)规范中,$ {myEnum}不调用toString()方法.在2.1 JSP-EL规范的1.18.2节中,您可以看到它将调用name()方法.2.2 JSP-EL规范也是如此. (3认同)