SSH框架返回json结果集的问题

这是action

 public String staffListQuery() {
        logger.debug("staffListQuery");
        if (pageNo == CodeConstants.PAGE_DEFU) {
            pageNo = CodeConstants.PAGENO_INIT;
        }
        if (pageSize == CodeConstants.PAGE_DEFU) {
            pageSize = CodeConstants.PAGESIZE_INIT;
        }
        try {
            String operatorCode = (String) getSession()
                    .getAttribute("UserCode");
            Page page = staffManageService.queryStaffRecord(
                    staffManageCondition, pageNo, pageSize, operatorCode,
                    exportType);
            /** 将结果值以JSON方式读取 */
            writeJSONData(page, "PERSONID","PERSONNAME","COMNAME","TEAMNAME","VALIDSTATUS","VERIFYSTATUS","OPERATETIMES","OPERATETYPE","VERIFYTYPE");
        } catch (Exception e) {
            this.writeJSONMsg(e.getMessage());
        }
//      System.out.println(JSONArray.fromObject(writeJSONData.jsonObject));
        return null;

    }

这是json

 public void writeJSONData(Page page, String... args) {
        try {
            Assert.notEmpty(args);
            List dataList = new Vector();
            List list = page.getResult();
            int size = args.length;
            for (Iterator iter = list.iterator(); iter.hasNext(); ) {
                Object element = iter.next();
                Map dataMap = new HashMap(size);
                for (int i = 0; i < size; i++) {
                    Object value = null;
                    if (args[i].indexOf('.') > -1) {
                        String[] arrArg = StringUtils.split(args[i], '.');
                        value = element;
                        for (int j = 0; j < arrArg.length - 1; j++) {
                            value = PropertyUtils.getProperty(value, arrArg[j]);
                            if(value != null){
                                value = PropertyUtils.getProperty(value,arrArg[(j + 1)]);
                            }
                        }
                    } else {
                        value = PropertyUtils.getProperty(element, args[i]);
                    }
                    dataMap.put(args[i], fixValueForJSON(value));
                }
                dataList.add(dataMap);
            }
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("totalRecords", page.getTotalCount());
            jsonObject.put("data", JSONArray.fromObject(dataList));
            renderHtml(jsonObject.toString());
        } catch (Exception e) {
            e.printStackTrace();
            writeJSONMsg(e.getMessage());
        }
    }

JSON有值图片说明
这里没值
图片说明

2个回答

qq_36128558
qq_36128558 这个我看了帮助不是太大
2 年多之前 回复

简单看了一下你的代码, 在执行bug的过程中,能够展现出内容信息, 但是当将bug点释放之后, 得到的json显示信息与你预期的不同。
看你的代码看不出问题, 我觉得应该是你的项目中请求不仅执行了这一次, 应该是后续有重复执行,并覆盖了本次的查询结果,
请你检查本action中方法的触发方式,是不是有重复提交或者ajax等的存在,导致数据覆盖的出现;

qq_36128558
qq_36128558 太深奥
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问