如何initBinder()
在每次表单加载和提交时启动方法。此示例负责将日期从 String 转换为java.util.Date
.
在我的 servlet-context.xml 中:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="org.example.web.ExampleBindingInitializer" />
</property>
</bean>
这是我的 WebBindingInitializer 实现:
public class ExampleBindingInitializer implements WebBindingInitializer {
private ExampleService exampleService;
@Autowired
public ExampleBindingInitializer(ReservationService reservationService) {
this.reservationService = reservationService;
}
public void initBinder(WebDataBinder binder, WebRequest request) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
}
我没有在调用 ExampleService 方法的控制器中进行任何修改。我哪里错了?
当我将initBinder()
带有@InitBinder
注释的方法放入控制器时,一切正常。这不满足我,因为我想在外部课堂上拥有它。