需求:前端js传了个json字符传到后台,后台需要向json中再次添加参数。
如果前端给了参数后台就不用给参数了。
JS代码
var itemname= $('#searchForm').find('#sitemname').val(),
monitortype= $('#searchForm').find('#smonitortype').combobox('getValue')
monitordept= $('#searchForm').find('#q_monitordept').combotree('getValue'),
var paramArgs = {};
if(''!=itemname){
paramArgs['a.itemname']='like;'+itemname;
}
if(''!=monitortype){
paramArgs['a.monitortype']='=;'+monitortype;
}
if(''!=monitordept){
paramArgs['a.monitordept']='=;'+monitordept;
}
return JSON.stringify(paramArgs)
后台java代码
public Pagination queryByPageMonItem(String jsonArgs,
@RequestParam(defaultValue = "1", required = false, value = "page") int page,
@RequestParam(defaultValue = "20", required = false, value = "rows") int rows){
if(jsonArgs.indexOf("monitordept")==-1) {
List<DeptVO> list=monItemService.listMonitorDept();
List<String> listDeptname=new ArrayList<String>();
for (DeptVO deptVO : list) {
listDeptname.add(deptVO.getDeptname());
}
String monitordept=StringUtil.join(listDeptname, ",");
Map<String, String> param=new HashMap<String, String>();
if(StringUtils.isNotBlank(monitordept)){
param.put("a.monitordept","=;"+monitordept);
}
JSONObject fromObject = JSONObject.fromObject(param);
JSONObject jsonObject=JSONObject.fromObject(jsonArgs);
JSONObject jsonThree = new JSONObject();
jsonThree.putAll(fromObject);
jsonThree.putAll(jsonObject);
jsonArgs=jsonThree.toString();
}
Pagination pagination = monItemService.listDataMonItem(jsonArgs, page, rows);
return pagination;
}
记录一下嵌入过程。点滴积累。