分享

JQuery以对象提交Form到Spring MVC的方法

 KyunraWang 2017-09-07
JQuery用POST方式直接将Form的数据提交给Spring MVC的方法,最大的坑就是原生类型(long,int)必须要有值,否则就出错。

实体类(注意有原生类型)
public class OltInfo {

  long id;
  String oltSN;
……
  int cards;
  int pons;
……

提交的JS:
$(function() {
  var s = $("#submitId");
  $("#submitId").click(function() {
    $.ajax({
      url : '/olt/new',
      type : 'POST',
      dateType : "json",
      data : $("#formId").serialize(),
      contextType : "application/x-www-form-urlencoded",
      success : function(data) {
        console.log("success");
      }
    });
  })
});

JSP,注意原生类型必须设置值:
<form id="formId" method="get" action="" class="form-horizontal">
  <input type="hidden" name="id" value="0">
  <div class="form-group">
    <label class="col-sm-2 control-label">序列号</label>
    <div class="col-sm-10">
      <input type="text" name="oltSN" class="form-control">
    </div>
  </div>
  <div class="form-group">
    <label class="col-sm-2 control-label">联系人</label>
    <div class="col-sm-10">
      <input type="text" name="contact" class="form-control">
    </div>
  </div>
  <div class="form-group">
    <label class="col-sm-2 control-label">手机</label>
    <div class="col-sm-4">
      <input type="text" name="mobile" class="form-control">
    </div>
    <label class="col-sm-2 control-label">电话</label>
    <div class="col-sm-4">
      <input type="text" name="tel" class="form-control">
    </div>
  </div>
  <div class="hr-line-dashed"></div>
  <div class="form-group">
    <label class="col-sm-2 control-label">板卡数</label>
    <div class="col-sm-4">
      <input type="text" name="cards" value="0" class="form-control">
    </div>
    <label class="col-sm-2 control-label">PON口数</label>
    <div class="col-sm-4">
      <input type="text" name="pons" value="0" class="form-control">
    </div>
  </div>
  <div class="hr-line-dashed"></div>
  <div class="form-group">
    <div class="col-sm-4 col-sm-offset-2">
      <button id="submitId" class="btn btn-primary">保存内容</button>
      <button class="btn btn-white" type="submit">取消</button>
    </div>
  </div>
</form>

Spring的Controller,直接接受对象:
@RequestMapping(value = "/new", method = RequestMethod.POST)
@ResponseBody
public Map newOlt(OltInfo o) {
  logger.info("newOlt..." + o);
  ……
}



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约