前台js写法 layui.define(['table', 'form'], function(exports){ var $ = layui.$ ,table = layui.table ,form = layui.form; $.ajax({ type: "get" ,url: '/menu/list' //从后台返回的全部json数据 ,async: true ,success: function(r) { var data = r.data; table.render({ elem: '#LAY-menu-manage' ,data:data ,cols: [[ {type: 'checkbox', fixed: 'left'}, {title: 'id', field: 'id', align: 'center',hide : true, valign: 'middle', sort: true}, {title: '菜单名称', field: 'name', align: 'center', valign: 'middle', sort: true}, {title: '菜单编号', field: 'code', align: 'center', valign: 'middle', sort: true}, {title: '菜单父编号', field: 'pcode', align: 'center', valign: 'middle', sort: true}, {title: '请求地址', field: 'url', align: 'center', valign: 'middle', sort: true}, {title: '排序', field: 'num', align: 'center', valign: 'middle', sort: true}, {title: '层级', field: 'levels', align: 'center', valign: 'middle', sort: true}, {title: '是否是菜单', field: 'isMenuName', align: 'center', valign: 'middle'}, {title: '状态', field: 'statusName', align: 'center', valign: 'middle', sort: true}, {title: '操作', width: 150, align:'center', fixed: 'right', toolbar: '#table-menu-webuser'} ]], skin: 'row', //表格风格 even: true, //隔行背景 page: true, //是否显示分页 limits: [5, 10, 15], //显示 limit: 10 //每页默认显示的数量 }); } });
后台Controller写法
@Permission(Const.ADMIN_NAME) @RequestMapping(value = "/list") @ResponseBody public Object list(@RequestParam(required = false) String menuName, @RequestParam(required = false) String level) { List<Map<String, Object>> menus = this.menuService.selectMenus(menuName, level); Object o = super.warpObject(new MenuWarpper(menus)); return Tool.getObjJson(o,menus.size()); }
自定义封装返回json方法 同步处理data数据乱码问题
注意:引用
import net.sf.json.JSONObject; import net.sf.json.JsonConfig;这二哥json包
public static JSONObject getObjJson(Object o,int num){ if (o instanceof List) { List<Map<String, Object>> list = (List<Map<String, Object>>) o; JsonConfig jsonConfig = new JsonConfig(); jsonConfig.registerJsonValueProcessor(java.sql.Timestamp.class, new JsonDateValueProcessor("yyyy-MM-dd")); List list1 = new ArrayList(); for (int i=0;i<list.size();i++){ JSONObject jsonObject = JSONObject.fromObject(list.get(i), jsonConfig); list1.add(jsonObject); } JSONObject jsonObject = new JSONObject(); jsonObject.put("code",0); jsonObject.put("msg",""); jsonObject.put("count",num); jsonObject.put("data",list1); return jsonObject; } return null; }