以随便一个类为例子:这个例子是查询企业主营类别前5事项

一、以json数组的格式返回到前端中

(1)后端将结果绑定到param中,然后将结果以为json数组的格式返回到前端

/**
* 查询企业主营类别前5事项
* @param request
* @param response
* @param config
* @throws Exception
* @author hongxy
* 2017年6月1日下午2:21:14
*/
public void getEnterpriseMainCategory(HttpServletRequest request,
HttpServletResponse response, ServletConfig config) throws Exception {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
Map param = new HashMap();
PrintWriter wirte = null;
//获得企业名称
String custName = RequestUtil.getString(request, "companyName");
//判断企业名称是否为空
if (StringUtils.isBlank(custName)) {
param.put("status", "400");
param.put("desc", "企业名称为空!");
} else {
workService = new WorkServiceImpl();
//查询是否存在该企业
Map enterpriseInfo = workService.getEnterpriseInfoByCustName(custName);
//不存在该企业
if (enterpriseInfo == null) {
param.put("status", "400");
param.put("desc", "企业名称不存在!");
} else {//存在该企业,查询企业主营类别前5事项
//根据企业名称查询出该企业近一年的已办事项
String approveTypeList = workService.getEnterpriseWorksInfoByCustName(custName);
//根据行业类别查询企业名称
String custNameListByIndustry = workService.getEnterpriseNameByIndustry((String) enterpriseInfo.get("INDUSTRY"));
//查询企业主营类别前5事项
List mainProjectList = workService.getApproveInfoList(custNameListByIndustry,approveTypeList);
param.put("status", "200");
param.put("desc", "处理成功");
param.put("data", mainProjectList);
}
}
//声明JSONArray对象并输入JSON字符串
JSONArray array = JSONArray.fromObject(param);
wirte = response.getWriter();
wirte.print(array);
}

(2)前端先将接受到的数据转换成json格式,不然就不能获取里面的值了,因为Ajax返回的值默认是字符串类型

将接收到的值转换成json格式的核心代码:(具体的取值可以输出到前端控制台,这样方便取值)

var msg=jQuery.parseJSON(msg);
$.ajax({
url: '${path.appMain}?service=work&func=getEnterpriseMainCategory',
async: false,
type: 'POST',
data: {
companyName:companyName
},
success: function(msg){
var msg=jQuery.parseJSON(msg);
var mainProjectList = "";
  mainProjectList +="<li>与您的“主营项目类别”相同的企业,办理最多的事项有:</li>"
  for (var i = 0; i < msg[0].data.length; i++) {
mainProjectList += "<li><a href='javascript:void(0);'>"+
(i+1) + "." + msg[0].data[i].approveName +
"</a></li>";
}
$('#mainProjectList').html(mainProjectList);
}
});

二、以json的格式返回到前端中(常用)

(1)后端将结果绑定到data中,然后将结果以为json的格式返回到前端

     /**
* 查询企业主营类别前5事项
* @param request
* @param response
* @param config
* @throws Exception
* @author hongxy
* 2017年6月1日下午2:21:14
*/
public void getEnterpriseMainCategory(HttpServletRequest request,
HttpServletResponse response, ServletConfig config) throws Exception {
request.setCharacterEncoding("UTF-8");
JSONObject json = new JSONObject();
Map param = new HashMap();
//获得企业名称
String custName = RequestUtil.getString(request, "companyName");
//判断企业名称是否为空
if (StringUtils.isBlank(custName)) {
json.put("status", "400");
json.put("desc", "企业名称为空!");
} else {
workService = new WorkServiceImpl();
//查询是否存在该企业
Map enterpriseInfo = workService.getEnterpriseInfoByCustName(custName);
//不存在该企业
if (enterpriseInfo == null) {
json.put("status", "400");
json.put("desc", "企业名称不存在!");
} else {//存在该企业,查询企业主营类别前5事项
//根据企业名称查询出该企业近一年的已办事项
String approveTypeList = workService.getEnterpriseWorksInfoByCustName(custName);
//根据行业类别查询企业名称
String custNameListByIndustry = workService.getEnterpriseNameByIndustry((String) enterpriseInfo.get("INDUSTRY"));
//查询企业主营类别前5事项
List mainProjectList = workService.getApproveInfoList(custNameListByIndustry,approveTypeList);
json.put("status", "200");
json.put("desc", "处理成功");
json.put("data", mainProjectList);
}
}
// 响应请求
SysInfo.responseJsonMsg(response, json.toString());
}

(2)前端接收json数据并在前端进行显示

$.ajax({
url: '${path.appMain}?service=work&func=getEnterpriseMainCategory',
async: false,
type: 'POST',
data: {
companyName:companyName
},
success: function(msg){
var mainProjectList = "";
mainProjectList +="<li>与您的“主营项目类别”相同的企业,办理最多的事项有:</li>"
if(msg.data.length == 0){
mainProjectList += "<li>查找不到相关的事项!</li>";
} else{
for (var i = 0; i < msg.data.length; i++) {
mainProjectList += "<li><a href='javascript:void(0);'>"+
(i+1) + "." + msg.data[i].approveName +
"</a></li>";
}
}
$('#mainProjectList').html(mainProjectList);
}
});

后端返回值以json的格式返回,前端以json格式接收的更多相关文章

  1. 写一方法用来计算1+2+3+...n,其中n作为参数输入,返回值可以由方法名返回,也可以由参数返回

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. C++ 需要返回值的函数却没有返回值的情况 单例模式

    昨天在看前些天写的代码,发现一个错误. #include <iostream> using namespace std; class singleton { public: static ...

  3. JAVAEE——SpringMVC第二天:高级参数绑定、@RequestMapping、方法返回值、异常处理、图片上传、Json交互、实现RESTful、拦截器

    1. 课前回顾 https://www.cnblogs.com/xieyupeng/p/9093661.html 2. 课程计划 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 ...

  4. (转)函数中使用 ajax 异步 同步 返回值错误 主函数显示返回值总是undefined -- ajax使用总结

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAloAAAE0CAIAAAB7LwoKAAAgAElEQVR4nO2dy6sc152A6+/R2mXwSn ...

  5. 测试函数用Return 返回值和用函数名返回值的区别

    '*************************************************************************'**模 块 名:工程1 - Form1'**说   ...

  6. 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)

    1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCrea ...

  7. 怎样获取shell函数的返回值及shell命令的返回值?

    1.获取shell函数调用的返回值: #!/bin/sh info() { cat jlb.sh } res=`info` echo "state: "$? echo " ...

  8. ForkJoin有参无返回值、有参有返回值实例

    介绍: a . Fork/Join为JKD1.7引入,适用于对大量数据进行拆分成多个小任务进行计算的框架,最后把所有小任务的结果汇总合并得到最终的结果 b . 相关类 public abstract ...

  9. 使用JavaScriptSerializer序列化集合、字典、数组、DataTable为JSON字符串 分类: 前端 数据格式 JSON 2014-10-30 14:08 169人阅读 评论(0) 收藏

    一.JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是"名值对"的集合.结构由大 ...

  10. 20170313 ABAP以jason 格式返回值到http(接口内容返回)

     问题1: 返回jason 格式信息给你们这步不通, 这个可以怎么处理, ***得到SCP 系统开发回复,他们需要调整方法: (1)调用函数做RETURN, IT_ZSMLSCPNOTICE-FUNC ...

随机推荐

  1. 简单使用Vuex步骤及注意事项

    使用Vuex的步骤: (1)安装: 1.使用npm安装: npm install vuex --save 2.使用script标签引入 <script src="/path/to/vu ...

  2. 【SDOI2009】Bill的挑战

    Description Sheng bill不仅有惊人的心算能力,还可以轻松地完成各种统计.在昨天的比赛中,你凭借优秀的程序与他打成了平局,这导致Sheng bill极度的不满.于是他再次挑战你.这次 ...

  3. 微软公布针对最新IE漏洞的安全通报2963983

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/MSSecurity/article/details/24637607  微软于昨天公布了一篇最新 ...

  4. 倒水问题(Fill, UVa 10603)

    [题目描述] 有三个没有刻度的水壶,容量分别为a,b和c(单位为升,都是<=200的正整数).初始时前两个水壶是空的,而第三个装满了水.每次可以从一个水壶往一个水壶里倒水,直到一个水壶倒空或者另 ...

  5. linux操作小技巧锦集

    0.常用Linux命令 查看端口被占用情况: 1.netstat -tunlp|grep 端口号 2.lsof -i:端口号 tar 压缩文件命令: -c:建立一个压缩文件的参数指令(create 的 ...

  6. Linux 之 rsyslog 系统日志转发

    一.rsyslog 介绍 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍 ...

  7. Echarts中太阳图(Sunburst)的实例

    Echarts中太阳图(Sunburst)的实例 目前在项目中要实现一个Echars中的太阳图,但是Echars中的太阳图的数据格式是一个树形结构,如下代码格式如下: var mapData = [ ...

  8. PAT A1120 Friend Numbers (20 分)——set

    Two integers are called "friend numbers" if they share the same sum of their digits, and t ...

  9. PAT A1133 Splitting A Linked List (25 分)——链表

    Given a singly linked list, you are supposed to rearrange its elements so that all the negative valu ...

  10. PAT A1013 Battle Over Cities (25 分)——图遍历,联通块个数

    It is vitally important to have all the cities connected by highways in a war. If a city is occupied ...