如下代码,访问/inPiecesQueryList时,initBinder方法不执行。
但如果把方法inPiecesQueryList(HttpServletRequest request)改为inPiecesQueryList(String str,HttpServletRequest request),initBinder方法就可以执行了。
这是什么原因呢?
@InitBinder
public void initBinder(ServletRequestDataBinder binder) {
/**
* 自动转换日期类型的字段格式
*/
binder.registerCustomEditor(Date.class, new CustomDateEditor(
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), true));
}
@RequestMapping(value = "/inPiecesQueryList", method = RequestMethod.POST)
public @ResponseBody DataGrid inPiecesQueryList(HttpServletRequest request)
{
DataGrid dataGrid = new DataGrid();
return dataGrid;
}
但如果把方法inPiecesQueryList(HttpServletRequest request)改为inPiecesQueryList(String str,HttpServletRequest request),initBinder方法就可以执行了。
这是什么原因呢?
本文探讨了在Spring MVC中使用@InitBinder注解时,访问特定请求参数时导致initBinder方法未执行的原因。通过将方法参数从HttpServletRequest更改为String和HttpServletRequest,initBinder方法得以正常执行。解释了这种现象背后的原理,并提供了解决方案。
1185

被折叠的 条评论
为什么被折叠?



