使用ajax请求提交数据时,日期类型无法转换为JAVA中的日期类型
来源:互联网 发布:android 知乎源码 编辑:程序博客网 时间:2024/06/04 00:47
在做毕业项目时碰见日期类型无法传到后台controller中的问题,因为springMVC中没有提供默认的日期转换器,前端页面传过来的日期类字符串无法转换为java中的日期类型,使用@DatetimeFormat注解完成转换,做一个笔记。
前端代码:
表单中含有日期类型(会员生日),使用ajax请求提交数据时无法传到后台
<form class="form-horizontal" id="add_member_box"> <div class="form-group"> <label for="inputMenuname" class="col-sm-offset-1 col-sm-4 control-label">会员名字</label> <div class="col-sm-4"> <input type="text" class="form-control" name="vipname" > </div> </div> <div class="form-group"> <label for="inputMenuname" class="col-sm-offset-1 col-sm-4 control-label">会员电话</label> <div class="col-sm-4"> <input type="text" class="form-control" name="vipphone" > </div> </div> <div class="form-group"> <label for="inputMenuname" class="col-sm-offset-1 col-sm-4 control-label">会员级别</label> <div class="col-sm-4"> <input type="text" name="viptype" class="form-control"> </div> </div> <div class="form-group"> <label for="inputMenuname" class="col-sm-offset-1 col-sm-4 control-label">会员生日</label> <div class="col-sm-4"> <input type="text" class="form-control" name="vipbrithday"> </div> </div> <div class="form-group"> <label for="inputMenuname" class="col-sm-offset-1 col-sm-4 control-label">会员编号</label> <div class="col-sm-4"> <input type="text" class="form-control" name="vipcard" > </div> </div> <div class="form-group"> <label for="inputMenuname" class="col-sm-offset-1 col-sm-4 control-label">消费次数</label> <div class="col-sm-4"> <input type="text" class="form-control" name="vipcounts" > </div> </div> <div class="form-group"> <label for="inputMenuname" class="col-sm-offset-1 col-sm-4 control-label">会员所在店铺</label> <div class="col-sm-4"> <select id="select_member_shopName" class="form-control" name="vshopid"> </select> </div> </div> <div class="form-group"> <div class="col-sm-offset-5 col-sm-7"> <button type="submit" class="btn btn-primary" id="add_member_btn">保存</button> </div> </div> </form>
ajax代码如下:
// 提交添加菜品分类表单 $("#add_member_btn").click(function() { $.ajax({ url: "/member/addMember", data: $("#add_member_box").serialize(), type: "POST", beforeSend: function() { if ($("#loding").length > 0) { $("#loding").showLoading(); } }, success: function(result) { if ($("#loding").length > 0) { $("#loding").hideLoading() } to_page(1,1); $.toast({ text: "添加信息成功!", heading: "提示:", position: "top-right", icon: "success", }); /* console.log(result); */ //处理数据 }, error: function(result) { if ($("#loding").length > 0) { $("#loding").hideLoading() } /* alert(result.msg); */ $.toast({ text: "数据丢失请重试...", heading: "提示:", position: "top-right", icon: "error", }); } }); });
controller中使用pojo类接受前台页面传过来的数据代码如下:
/** * 添加一条会员信息 * @param userVipInfo 会员实体类 * @return */ @RequestMapping(value= {"/addMember"} ,method = {RequestMethod.POST}) @ResponseBody public jsonMsg addMemberItem(UserVipInfo userVipInfo) { Boolean flag = userService.addMember(userVipInfo); if(flag) { return jsonMsg.success(); }else { return jsonMsg.error(); } }
但是这样传不进来,需要在pojo日期属性上配置@DatetimeFormat注解,代码如下
@DateTimeFormat(pattern="yyyy-MM-dd") private Date vipbrithday;
这个注解需要配置spring-mvc 添加注解驱动,替我们自动配置了最新的处理器映射器和处理器适配器,也会帮我们自动启用@DatetimeFormat注解
<mvc:annotation-driven />
网上还有很多自定义转换器,由于时间有限,没有进行研究测试,所以用了一个非常轻松的办法解决。
希望以后能学会自定义转换器的方法解决。
阅读全文
0 0
- 使用ajax请求提交数据时,日期类型无法转换为JAVA中的日期类型
- Java 毫秒转换为日期类型、日期转换为毫秒
- Java 毫秒转换为日期类型、日期转换为毫秒
- java 日期类型转换
- JAVA日期类型转换
- Java中的日期类型
- 字符类型转换为日期类型
- JAVA中的日期类型与字符类型的转换
- springMVC类型转换,提交日期字符数据自动转换日期格式
- js中将long日期类型的数据转换为标准的日期类型
- javascript 字符串类型日期转换为日期类型
- C# 把字符串类型日期转换为日期类型
- Java把Double类型转换为日期型
- 29、Java中如何将字符串转换为日期类型?
- 如何将java中Date存入mysql中的datetime中,字符串怎么转换为日期类型
- 如何将java中Date存入mysql中的datetime中,字符串怎么转换为日期类型
- java字符串日期类型转换成日期类型(日期类型相加、日期类型间隔天数)
- Java 读取Excel表格数据日期类型转换
- tf.where(a,b,c)函数
- 关于这个公众号的过去和未来
- Android多渠道SDK开发心得(5)——多渠道sdk的调试
- 数据结构实验之图论十:判断给定图是否存在合法拓扑序列
- 排序算法
- 使用ajax请求提交数据时,日期类型无法转换为JAVA中的日期类型
- SQL SERVER 2008 编程入门经典读书笔记 -- SQL Server 复杂查询
- 让数据起飞,MySql索引
- Android多渠道SDK开发心得(6)——sdk日志注入构建时间戳
- kafka集群监控KafkaOffsetMonitor
- Android多渠道SDK开发心得(7)——自动生成demo
- Microsoft Visual Studio 2013
- 初始化,清空,逆置数组
- 整合SSH框架最基本的例子