只需要在对象字段使用@DateTimeFormat(pattern="yyyy-MM-dd")注解,就可以实现格式的转换,注意属性仍然需要get,set封装,否则不会报错但是封装会失败!
ajax传值的话以JSON格式进行传值,关键代码如下:
JSP中ajax代码:
<script type="text/javascript"> $(function() { $("#save").click(function() { var ddate = $("#ddate").val().trim(); var context = $("#context").val().trim(); var did = $("#did").val(); if (isEmpty(ddate, context, did)) { var rowDate = { "context" : context, "did" : did, "ddate":ddate }; $.ajax({ url : "/troops/add.do", type : "POST", dataType : "JSON", data : rowDate, success : function(data) { if (data == "1") { alert("添加成功"); $("input[type=reset]").trigger("click"); } if (data == "0") { alert("添加失败"); } }, error:function(data){ alert("错误"); } }); } }) function isEmpty(ddate, context, did) { if (ddate.length == 0) { alert("日期不能为空!"); $("#ddate").focus(); return false; } else if (context.length == 0) { $("#context").focus(); alert("文本不能为空!"); return false; } else if (did == 0) { alert("请选择类型!"); return false; } return true; } }) </script>
Controller层方法:
@RequestMapping(value="/add") public @ResponseBody String add(@ModelAttribute Daiban daiban,HttpServletRequest request,HttpServletResponse response,HttpSession session) throws IOException{ System.out.println("添加方法"); String aa = request.getParameter("addDaiBan"); int result = daibanService.add(daiban); if(result>0){ response.getWriter().print("1"); }else{ response.getWriter().print("0"); } return null; }
实体类:
public class Daiban implements java.io.Serializable { private Integer id; private Integer did; private String context; @DateTimeFormat(pattern="yyyy-MM-dd") private Date ddate; /** 无参构造 */ public Daiban() { } /** 有参构造*/ public Daiban(Integer did, String context, Date ddate) { this.did = did; this.context = context; this.ddate = ddate; } /**省略get,set**/ }