1. public ResultBean getSpfl(Integer yyb) {
  2. ResultBean res = new ResultBean();
  3. try {
  4. JSONArray data = new JSONArray();
  5. String sql = "select * from tspfl_wx where yyb = " + yyb;
  6. sql += " and zt=" + GlobalStatusType.SPFlZT_QY;
  7. // 一级分类
  8. List<Map<String, Object>> list1 = sqlMapper.selectList(sql + " and type = 1 and pid = 0 order by orderno ");
  9. for (Map<String, Object> map1 : list1) {
  10. JSONObject obj1 = new JSONObject();
  11. obj1.put("id", map1.get("id"));
  12. obj1.put("enspxxid", map1.get("enspxxid"));
  13. obj1.put("banner", CommonUtils.isEmpty(map1.get("tb")) ? ""
  14. : String.valueOf(map1.get("tb")).replace("zw:uri", Local.getUri()));
  15. obj1.put("cate", map1.get("flmc"));
  16. // 二级分类
  17. List<Map<String, Object>> list2 = sqlMapper
  18. .selectList(sql + " and type = 2 and pid = " + map1.get("id") + " order by orderno");
  19. if (list2 != null && list2.size() > 0) {
  20. obj1.put("ishaveChild", 1);
  21. } else {
  22. obj1.put("ishaveChild", 0);
  23. }
  24. JSONArray detail = new JSONArray();
  25. for (Map<String, Object> map2 : list2) {
  26. JSONObject obj2 = new JSONObject();
  27. obj2.put("detail_id", map2.get("id"));
  28. obj2.put("enspxxid", map2.get("enspxxid"));
  29. obj2.put("detail_cate", map2.get("flmc"));
  30. // 三级分类
  31. List<Map<String, Object>> list3 = sqlMapper
  32. .selectList(sql + " and type = 3 and pid = " + map2.get("id") + " order by orderno");
  33. JSONArray detail_d = new JSONArray();
  34. for (Map<String, Object> map3 : list3) {
  35. JSONObject obj3 = new JSONObject();
  36. obj3.put("thumb_id", map3.get("id"));
  37. obj3.put("enspxxid", map3.get("enspxxid"));
  38. obj3.put("thumb", CommonUtils.isEmpty(map3.get("tb")) ? ""
  39. : String.valueOf(map3.get("tb")).replace("zw:uri", Local.getUri()));
  40. obj3.put("name", map3.get("flmc"));
  41. detail_d.add(obj3);
  42. }
  43. obj2.put("detail_d", detail_d);
  44. detail.add(obj2);
  45. }
  46. obj1.put("detail", detail);
  47. if (list2 != null && list2.size() > 0) {
  48. data.add(obj1);
  49. }
  50. }
  51. res.setSuccess(true);
  52. res.setData(data);
  53. } catch (Exception e) {
  54. res.setSuccess(false);
  55. res.setMessage("异常:" + e.getMessage());
  56. }
  57. return res;
  58. }

java中产品分类返回给前台页面 后台数据组装的更多相关文章

  1. Java中处理接口返回base64编码的图片数据

    在做接口测试的时候,某些接口返回的content是一大段加密文字.这种情况下,有可能是返回的图片加密数据,需要将这些数据转换成图片进行保存查看. 例如: 这里,可以看到Content对应的键值开头有“ ...

  2. 为什么在 Java 中128==128返回false,而127==127返回true呢?

    为什么在 Java 中128==128返回false,而127==127返回true呢? 有这样一段代码 Integer a=127; Integer b=127; System.out.printl ...

  3. ASP.NET中使用JSON方便实现前台与后台的数据交换

    ASP.NET中使用JSON方便实现前台与后台的数据交换 发表于2014/9/13 6:47:08  8652人阅读 分类: ASP.NET Jquery extjs 一.前台向后台请求数据 在页面加 ...

  4. 理解Java中的协变返回类型

    在面向对象程序设计中,协变返回类型指的是子类中的成员函数的返回值类型不必严格等同于父类中被重写的成员函数的返回值类型,而可以是更 "狭窄" 的类型. Java 5.0添加了对协变返 ...

  5. Java中调用MatLab返回值

    当在Java中使用MatLab函数时,由于语言语法的不同,Matlab返回多个数据时,想在Java中获取到并进行使用.查阅了网上资料,翻箱倒柜加上自己实战,得出方法如下: 如MatLab函数返回的是N ...

  6. Java中异常分类和Throw和Throws的区别

    Java中异常分类和Throw和Throws的区别 1.异常分类 Throwable是Java中所有错误和异常的超类.它的下一级是Error和Exception 1.1 Error(错误) Error ...

  7. Laravel 5.2 中多用户认证实现(前台和后台登录)

    Laravel 5.2中多用户认证支持,即同时允许不同数据表用户(如前台用户.后台用户.app用户等)登录认证.下面我们就来简单介绍多用户登录及注册功能实现. 1.生成认证脚手架 首先我们使用Lara ...

  8. ajax传JSON时设置的contenttype导致JAVA中request.getParameter("")怎么也接收不到数据

    ajax传JSON时设置的contenttype默认值是application/x-www-form-urlencoded, 当ajax传JSON时设置的contenttype 如果是applicat ...

  9. B/S系统的前台和后台数据转递机制探究

    作者:朱金灿 来源:http://blog.csdn.net/clever101 说实话写这篇文章超出了我的能力范围之外(因为我并没有多少Web开发经验),我所期待的是能起一个抛砖引玉的作用--希望高 ...

随机推荐

  1. Spring Framework 5.0简述

    从Spring框架5.0开始,Spring需要JDK 8+ (Java SE 8+),并且已经为JDK 9提供了现成的支持. Spring框架还支持依赖注入(JSR 330)和通用注释(JSR 250 ...

  2. sqli-labs-master less02-04

    sql注入0-4关只存在注入方式的区别 第一关 ?id=1'--+ ' 第二关 ?id=1--+ 无 第三关 ?id=1')--+ ') 第四关 ?id=1")--+ ") 过程同 ...

  3. web 应用、 框架 及HTTP协议

    web 应用 一.web 应用程序是什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式C/ ...

  4. python虚拟环境相关设置备忘

    sudo  pip install virtualenv #安装虚拟环境 sudo pip install virtualenvwrapper #安装虚拟环境管理工具nano ~/.bashrc #修 ...

  5. Struts2中的开启AsyncContext的方法

    //获取到requestHttpServletRequest req = ServletActionContext.getRequest();//设置属性org.apache.catalina.ASY ...

  6. PyQt(Python+Qt)学习随笔:QMdiArea多文档界面区域的viewMode、documentMode、tabsClosable、tabPosition等属性介绍

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 viewMode属性用于控制子窗口是使用子窗口模式(QMdiArea. ...

  7. PyQt(Python+Qt)学习随笔:QTableView的wordWrap属性

    老猿Python博文目录 老猿Python博客地址 wordWrap属性用于控制视图中数据项文本的换行策略.如果此属性为True,则在数据项文本中分词的适当处进行换:否则数据项文本不进行换行处理.默认 ...

  8. 网络层-network layer(下):网络互连、子网掩码计算方法、Ipv4报头解析

    第五章 网络层-Network Layer(下) 上一章讲了网络层的任务.提供的两种服务.五个重要的路由算法.以及网络层的拥塞控制和服务质量问题.这一部分主要讲一讲网络互连问题和Internet的网络 ...

  9. 斜率优化DP复习笔记

    前言 复习笔记2nd. Warning:鉴于摆渡车是普及组题目,本文的难度定位在普及+至省选-. 参照洛谷的题目难度评分(不过感觉部分有虚高,提高组建议全部掌握,普及组可以选择性阅读.) 引用部分(如 ...

  10. CRT, lucas及其扩展形式

    CRT, lucas及其扩展形式 exgcd int exgcd(int a, int b, int &x, int &y) { if (b == 0) return a, x = 1 ...