jsp
表單記得用form 標簽包起來,寫上id,這個就不用代碼了
<input type="button" value="提交" onclick="save()" class="comfirmBtn" />
js
function save() { var dataArr = $("#form").serializeArray(); var sendData = {}; $.each(dataArr, function (i, o) { sendData[o.name] = o.value; }); var url = path + '/userAddrApp/userAddr/save'; ajaxRequest(url,'POST',{ "obj":sendData, "userId":userId },function (ret,err) { }) }
java
@RequestMapping(value = "save") @ResponseBody public String save(HttpServletRequest request){ Map<String,Object> map = null; try { map = new HashMap<>(); //接參數 String obj = request.getParameterMap().get("obj")[0]; //轉對象 UserAddr userAddr = (UserAddr) JsonUtil.JSONToObj(obj, UserAddr.class); //保存 userAddrService.save(userAddr); map.put("code","1"); } catch (Exception e) { map.put("code","0"); e.printStackTrace(); } return JsonUtil.toJsonString(map); }
JsonUtil
package com.hy.utils; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonUtil { /** * 將json轉化為實體POJO * @param jsonStr * @param obj * @return */ public static<T> Object JSONToObj(String jsonStr,Class<T> obj) { T t = null; try { ObjectMapper objectMapper = new ObjectMapper(); t = objectMapper.readValue(jsonStr, obj); } catch (Exception e) { e.printStackTrace(); } return t; } }
