@RequestParam defaultvalue不接受枚举值作为默认值

时间:2012-07-19 05:37:09

标签: spring-mvc enums annotations

我正在使用弹簧控制器。

这是代码。

@RequestParam(value = "status", required = false, defaultValue = StatusEnum.STATUS.toString())

如果我使用enum作为defaultValue,我将获得注释属性RequestParam.defaultValue的值必须是常量表达式。

根据我的理解,它应该接受枚举作为默认值。

请建议。

1 个答案:

答案 0 :(得分:20)

因为它必须是一个String,并且它必须是一个常量表达式,所以这里唯一真正的选择是使用适用于Enum.valueOf()的值,因为这是最终解决它的方法。

具体来说,你应该阅读

@RequestParam(value = "status", required = false, defaultValue = "STATUS")

当然,假设"STATUS"StatusEnum.STATUS的字符串值。