我怎樣才能讓initBinder()
法每次啓動窗體加載並提交。此示例有責任將日期從字符串轉換爲java.util.Date
。的WebBindingInitializer不會執行
在我的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
註解到我的控制器,一切工作正常。這並不能滿足我,因爲我想在外部課堂上有這樣的感覺。
你可以發佈接受包含日期的對象的控制器方法嗎? –
一般來說,如果它的工作與否取決於你使用的是哪個版本的Spring。請添加版本。如果您使用的是較新版本的Spring,則應該使用'RequestMappingHandlerAdapter'而不是'AnnotationMethodHandlerAdapter'。 –