前台:
var content=document.getElementById("styleUl");
var items=content.getElementsByTagName("li");
var listOnlineFormDetail=[];
if(items.length>0){
for(var i=0;i<items.length;i++){
var onlineFormDetail=new Object();
//data-row="1" 第几行 data-col="1" 第几列 data-sizex="4" 宽度 data-sizey="1" 高度
onlineFormDetail.field1=items[i].getAttribute("data-row");
onlineFormDetail.field2=items[i].getAttribute("data-col");
onlineFormDetail.field3=items[i].getAttribute("data-sizex");
onlineFormDetail.field4=items[i].getAttribute("data-sizey");
onlineFormDetail.id=items[i].getAttribute("data-id");
listOnlineFormDetail[i]=onlineFormDetail;
}
$.ajax({
url : "${ctx}/online/onlineFormDetail/saveStyle",
data: JSON.stringify(listOnlineFormDetail),
type : 'POST',
contentType: 'application/json;charset=utf-8',
dataType : 'json',
success : function(data) {
$.jBox.messager("保存布局样式成功!");
setTimeout(function(){parent.window.jBox.close();},1000);
}
});
后台
@RequiresPermissions("online:onlineFormDetail:edit")
@RequestMapping(value = "saveStyle")
@ResponseBody
public String saveStyle(@RequestBody String listOnlineFormDetailJson ) {//用RequestBody 来收值
if(StringUtils.isNotBlank(listOnlineFormDetailJson)){
String result="";
try {
result = java.net.URLDecoder.decode(listOnlineFormDetailJson, "UTF-8");
//url解码,原字符串的符号被被转译成%5B%7B%22field1%22%3A%226%
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
result=result.replaceAll("=","");
List<OnlineFormDetail> list = JSONArray.parseArray(result, OnlineFormDetail.class);//json串转对象集合
onlineFormDetailService.updateList(list);
}
Map<String,String> resultMap=new HashMap<>();
resultMap.put("code","0");
return JsonMapper.toJsonString(resultMap);//必须是json格式,否则接收不到参数
}