在幼儿园管理系统中,会议管理>申请会议模块:添加会议记录(提交表单)的时候报:404错误!
2016-04-26 19:42
736 查看
在幼儿园管理系统(spring MVC)中,会议管理>申请会议模块:添加会议记录的时候报:404错误!不知道为啥找不到,一开始感觉一头雾水,怎么会出现404页面找不到错误那,又检查action,controller等这也没错啊!怎么出现404错误那。经过询问和查找,终于找到原因了。
原因是:添加的有时间字段。
![](http://img.blog.csdn.net/20160426192617587?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20160426192639321?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20160426192705590?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20160426192725903?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
代码:
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
在MasterAppointmentController.java中加入以上红色代码即可。
原因:从form表单提交到后台,开会时间是String的,而数据库是datetime类型,不会自动转换,所以会报404错误。
表单中的日期
字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能。
在SpringMVC中,bean中定义了Date,double等类型,如果没有做任何处理的话,日期以及double都无法绑定。
解决的办法就是使用spring mvc提供的@InitBinder标签
项目中是增加方法initBinder,并使用注解@InitBinder标注,那么spring
mvc在绑定表单之前,都会先注册这些编辑器,当然你如果不嫌麻烦,你也可以单独的写在你的每一个controller中。剩下的控制器都继承该类。spring自己提供了大量的实现类,诸如CustomDateEditor
,CustomBooleanEditor,CustomNumberEditor等许多,基本上够用。
原因是:添加的有时间字段。
代码:
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
在MasterAppointmentController.java中加入以上红色代码即可。
原因:从form表单提交到后台,开会时间是String的,而数据库是datetime类型,不会自动转换,所以会报404错误。
表单中的日期
字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能。
在SpringMVC中,bean中定义了Date,double等类型,如果没有做任何处理的话,日期以及double都无法绑定。
解决的办法就是使用spring mvc提供的@InitBinder标签
项目中是增加方法initBinder,并使用注解@InitBinder标注,那么spring
mvc在绑定表单之前,都会先注册这些编辑器,当然你如果不嫌麻烦,你也可以单独的写在你的每一个controller中。剩下的控制器都继承该类。spring自己提供了大量的实现类,诸如CustomDateEditor
,CustomBooleanEditor,CustomNumberEditor等许多,基本上够用。
相关文章推荐
- poj-3080
- hdu 5672
- 【Java】String类的方法介绍
- mysql中触发器的应用
- poj2955,开始学习区间dp了
- jQuery事件绑定on()、bind()与delegate() 方法详解
- C#中扩展方法
- 霍夫变换
- Manifest merger failed : uses-sdk:minSdkVersion 8 cannot be smaller than version 9 declared
- Android中Adapter的notifyDataSetInvalidated()和notifyDataSetChanged()的区别!
- jquery [datatable]排序时指定某列不可排序
- (61)从零开始学习Nodejs[3]——Node TCP服务器&telnet,多客户端消息传递改进
- 作业6团队作业
- Web前端----Javascript模块化
- Java线程之1.5版新特性多生产者多消费者(四)
- 个人工作总结08
- iOS LLDB调试精解
- [原创]自定义BaseAcitivity的实现,统一activity的UI风格样式
- HTML 中 URL 传值。
- JAVA BigDecimal 小数处理