@ResponseBody
@RequestMapping(value="/getJson", method=RequestMethod.GET)
public void getRoleMenuList(HttpServletRequest req, HttpServletResponse res, Integer
roleId) throws IOException{
res.setHeader("Content-type", "application/json;charset=UTF-8");
res.setCharacterEncoding("UTF-8");
ResListData rld = new ResListData();
JSONObject result = new JSONObject();
try {
Map<String, Object> params1 = new HashMap<>();
params1.put("roleId", roleId);
params1.put("menuLevel", 1);
List<RoleJuri> fMenuList = rjService.getRoleMenuList2(params1); //一级菜单
JSONArray firstList = new JSONArray();
for(int i=0; i<fMenuList.size(); i++){
RoleJuri firstMenu = fMenuList.get(i);
JSONObject firstResult = new JSONObject();
firstResult.put("id", firstMenu.getId());
firstResult.put("name", firstMenu.getMenuName());
firstResult.put("url", firstMenu.getMenuUrl());
Map<String, Object> params2 = new HashMap<>();
params2.put("roleId", roleId);
params2.put("menuPId", firstMenu.getMenuId());
List<RoleJuri> sMenuList = rjService.getRoleMenuList2(params2); //二级菜
单
JSONArray secondList = new JSONArray();
for(int j=0; j<sMenuList.size(); j++){
RoleJuri secondMenu = sMenuList.get(j);
JSONObject secondResult = new JSONObject();
secondResult.put("id", secondMenu.getId());
secondResult.put("name", secondMenu.getMenuName());
secondResult.put("url", secondMenu.getMenuUrl());
secondList.add(secondResult);
}
firstResult.put("children", secondList);
firstList.add(firstResult);
}
if(fMenuList.size() > 0){ //查询到了一级菜单
result.put("success", 1);
result.put("data", firstList);
}else{ //未查询到一级菜单
result.put("success", 0);
result.put("data", new Array());
result.put("error", "未获取到菜单数据");
}
} catch (Exception e) {
result.put("success", 0);
result.put("data", new Array());
result.put("error", "服务器运行错误");
}
res.getWriter().write(result.toString());
}
生成json文件
最新推荐文章于 2024-09-05 15:13:59 发布
该博客介绍了如何在Java中通过@RequestMapping注解创建一个GET请求,返回JSON格式的数据。方法处理HttpServletRequest和HttpServletResponse对象,设置响应头为JSON类型,并构建一个包含一级和二级菜单的JSON对象。通过调用服务获取角色菜单数据,将数据转换成JSONObject,然后写入响应流。
1877

被折叠的 条评论
为什么被折叠?



