博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts-hibernate-ajax完成区县和街道级联下拉框功能(二补充使用json解析list结果集,ajax循环json层级处理)...
阅读量:7125 次
发布时间:2019-06-28

本文共 2604 字,大约阅读时间需要 8 分钟。

针对进行补充,上一篇中,要在action中拼接JSON格式字符串,很容易手抖。直接用json处理一下转成json格式字符串即可。但之前也讲过,json对于hibernate级联关系的解析,不是很到位啊!

所以ajax那边就得层层循环剥离,找出想要的结果

action:

用的是

import com.alibaba.fastjson.JSON;

具体的jar包请自行百度!!

public String getStreets(){        StreetDao streetDao=new StreetDaoImpl();        try {            streetlist = streetDao.getStreetsByDistrictId(Integer.parseInt(district_id));            /*System.out.println("district_id=="+district_id);            System.out.println(streetlist.size());*/            String content = JSON.toJSONString(streetlist);            /*ObjectMapper mapper = new ObjectMapper();            String content = mapper.writeValueAsString(streetlist);*/            HttpServletResponse response = (HttpServletResponse) ActionContext.getContext().get(ServletActionContext.HTTP_RESPONSE);              response.setCharacterEncoding("utf-8");            System.out.println("array======="+content);            response.getWriter().print(content);         } catch (Exception e) {            e.printStackTrace();        }        return null;    }

action只是小小的改动,但语法简单了很多。

出来的json结果是:

array=======[{"district":{"id":1,"name":"天河区","streets":[{"district":{"$ref":"$[0].district"},"id":4,"name":"天河区街道4"},{"district":{"$ref":"$[0].district"},"id":2,"name":"天河区街道2"},{"$ref":"$[0]"},{"district":{"$ref":"$[0].district"},"id":3,"name":"天河区街道3"}]},"id":1,"name":"天河区街道1"},{"$ref":"$[0].district.streets[1]"},{"$ref":"$[0].district.streets[3]"},{"$ref":"$[0].district.streets[0]"}]

看上去真是头疼,即使json格式清晰要想取streets的id和name也不很规律啊,我用了firefox的hj插件JSON-Handle格式化了一下控制台的json字符串

[    {        "district": {            "id": 1,            "name": "天河区",            "streets": [                {                    "district": {                        "$ref": "$[0].district"                    },                    "id": 4,                    "name": "天河区街道4"                },                {                    "district": {                        "$ref": "$[0].district"                    },                    "id": 2,                    "name": "天河区街道2"                },                {                    "$ref": "$[0]"                },                {                    "district": {                        "$ref": "$[0].district"                    },                    "id": 3,                    "name": "天河区街道3"                }            ]        },        "id": 1,        "name": "天河区街道1"    },    {        "$ref": "$[0].district.streets[1]"    },    {        "$ref": "$[0].district.streets[3]"    },    {        "$ref": "$[0].district.streets[0]"    }]

那么ajax怎么获取街道呢?

    

好吧,我也是一点点试的!不行就每一步alert呗!

 

转载地址:http://tohel.baihongyu.com/

你可能感兴趣的文章
hadoop2.1.0和hadoop2.2.0编译安装教程
查看>>
php过滤处理手机自带Emoji表情
查看>>
错误集:org.hibernate.AssertionFailure: null id in xxx.xx.xx的问题
查看>>
python2.6升级到2.7
查看>>
linux下mysql的root密码忘记解决方
查看>>
(原创)ubuntu x86_64下搭建redmine+svn+mysql+nginx+apache2
查看>>
我的友情链接
查看>>
classes.dex文件转smali文件
查看>>
CentOS6启动过程超详解分析
查看>>
求最小公倍数简便方法
查看>>
oracle错误ora-01658的解决办法
查看>>
linux服务器宕机分析/性能瓶颈分析
查看>>
将 SLE HA 11 SP3 升级到 SLE HA 11 SP4
查看>>
jbpm:java.lang.LinkageError
查看>>
centOS 安装mp4box
查看>>
iOS中堆和栈的区别
查看>>
C语言之结构体
查看>>
linux globbing文件通配符
查看>>
Linux系统下查看命令属于哪个安装包
查看>>
C++拷贝构造函数详解
查看>>