Spring MVC设置全局DateTimeFormat

时间:2016-05-05 09:27:19

标签: java spring spring-mvc

我希望我的controllers根据标准格式解析RequestParamsPathVariables中的日期。

是否可以设置应用范围@DateTimeFormat而无需单独注释每个@RequestParam

2 个答案:

答案 0 :(得分:2)

您可以在控制器级别执行此操作。在控制器中添加@initBinder,它将根据给定的格式化程序格式化日期。

@InitBinder
public void initBinder(WebDataBinder binder) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    dateFormat.setLenient(false);

    // true passed to CustomDateEditor constructor means convert empty String to null
    binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}

答案 1 :(得分:1)

Spring AOP可能是可能的,但如果您在请求中有不同的日期键,您将如何告诉您的代码。但请检查以下链接是否有更多出轨:

Spring AOP Advice on Annotated Controllers