springmvc使用实体类接收表单提交数据中含有String类型对应Date类型的不匹配报错400时如何处理
2017-02-08 10:05
1006 查看
springmvc使用实体类接收表单提交数据中含有String类型对应Date类型的不匹配情况,页面提交表单报错400,时如何处理?
参看博客:http://blog.csdn.net/u014079773/article/details/51865178
我的错误发生原因描述:
实体类中包含了一个Date格式的属性,前台提交表单时使用的日期插件,提交的是String类型的日期,于是出现了如400下报错:
实体类:
表单提交的日期字段:
后台接收方式:
解决办法:
后台使用一个单独的String字段接收表单提交的日期属性,通过dateFomate转化成需要的Date格式再存入到实体类中.
如下:
400报错记录
参看博客:http://blog.csdn.net/u014079773/article/details/51865178
我的错误发生原因描述:
实体类中包含了一个Date格式的属性,前台提交表单时使用的日期插件,提交的是String类型的日期,于是出现了如400下报错:
实体类:
public class OperateCompactModel implements BaseIdModel { private String id; private String pId; //工程id private String company; //建设单位 private String projectName; //工程名称 private String compactName; //合同名称 private String compactType; //合同类别 1-材料合同 2-用工合同 3-设备租赁合同 4-设备采购合同 private String compactBrief;//合同概要 private String compactNum; //合同编号 private String supplier; //供应商名称 private double amount; //总金额 private String attachment; //附件 private Date signDate; //签订日期 private String excute; //执行情况 private String remark; //备注 private String invoice; //发票
表单提交的日期字段:
<div> <label>签订日期</label> <span><input class="laydate-icon" id="demo" name="signDate0" value="2016-6-25"></span> </div>
后台接收方式:
@RequestMapping(value="operate_addCompact.html") public String addOperateCompact(String token, OperateCompactModel operateCompactModel){ //判断是否重复提交 boolean isRepeat = NoRepeateSubmit.isRepeatSubmit(request,token);//--token if(isRepeat){//如果重复提交了,直接返回 //---token return "redirect:operate_compact.html?id="+operateCompactModel.getpId(); } //非重复提交,清除session中的token,执行添加代码 request.getSession().removeAttribute("token"); operateCompactService.add(operateCompactModel); return "redirect:operate_compact.html?id="+operateCompactModel.getpId(); }报错:
解决办法:
后台使用一个单独的String字段接收表单提交的日期属性,通过dateFomate转化成需要的Date格式再存入到实体类中.
如下:
@RequestMapping(value="operate_addCompact.html") public String addOperateCompact(String token, String signDate0, OperateCompactModel operateCompactModel){ //判断是否重复提交 boolean isRepeat = NoRepeateSubmit.isRepeatSubmit(request,token);//----------token--------------- if(isRepeat){//如果重复提交了,直接返回 //----------token--------------- return "redirect:operate_compact.html?id="+operateCompactModel.getpId(); } //非重复提交,清除session中的token,执行添加代码 request.getSession().removeAttribute("token"); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); try { operateCompactModel.setSignDate(sdf.parse(signDate0)); } catch (ParseException e) { e.printStackTrace(); } operateCompactService.add(operateCompactModel); return "redirect:operate_compact.html?id="+operateCompactModel.getpId(); }当然表单提交的字段name也要改成相应的signDate0.
400报错记录
相关文章推荐
- SpringMVC学习系列(1) 之 初识SpringMVC
- Ubuntu中安装jdk环境
- spring事务中read-only配置
- 安卓开发异常之——java.lang.NoClassDefFoundError: com.umeng.analytics.d的问题
- SpringMVC学习系列(8) 之 实现注解式权限验证
- eclipse找项目编译后的文件
- JNI C调用Java
- spring 定时执行任务
- Java 中的枚举 (enum)
- java如何正确停止一个线程
- java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
- Java 多线程编程
- Eclipse之Android项目名有红感叹号的解决办法
- Hibernate配置常见问题汇总
- SpringMVC详细示例实战教程
- RxJava基本流程和lift源码分析
- java线程池的使用方式
- MyEclipse生成Javadoc帮助文档
- Spring中StopWatch的使用
- spring注解