spring mvc如何改进我的initBinder

时间:2014-02-23 00:24:28

标签: spring-mvc spring-mvc-initbinders

我正在使用spring mvc,我仍然试图绕过粘合剂,格式化器和转换器。

我的一个控制器背后有一个自定义活页夹......

@InitBinder
public void initBinder(WebDataBinder webDataBinder) {
    SimpleDateFormat df = new SimpleDateFormat(dateFormat);
    df.setLenient(false);
    webDataBinder.registerCustomEditor(Date.class, new CustomDateEditor(df, true));
}

此特定自定义绑定程序并非仅针对此控制器的表单,而是将在整个应用程序中的任何位置使用。

对我所有的控制器来说,更通用的方法是什么?

P.S。我有一个转换服务,所以如果它是正确的地方,我可以使用它。

public class ApplicationConversionServiceFactoryBean extends FormattingConversionServiceFactoryBean

感谢

1 个答案:

答案 0 :(得分:2)

您可以考虑使用@ControllerAdvice注释。带有此注释的类可以帮助每个控制器。

所以你可以这样写:

@ControllerAdvice
public class GlobalInitializer {

    @InitBinder
    public void globalBinder(WebDataBinder webDataBinder) {
       SimpleDateFormat df = new SimpleDateFormat(dateFormat);
       df.setLenient(false);
       webDataBinder.registerCustomEditor(Date.class, new CustomDateEditor(df, true));
    }
}