公共方法:


/**
* 实际返回的是 response.setContentType("text/html;charset=utf-8");
*
* @param o
*/
public void writeJson(Object o) {
String json = getJsonString(o);
try {
response.setContentType("text/html;charset=utf-8");
response.getWriter().write(json);
} catch (IOException e) {
e.printStackTrace();
}
} public String getJsonString(Object o) {
ObjectMapper om = new ObjectMapper();
StringWriter sw = new StringWriter();
try {
JsonGenerator jg = new JsonFactory().createJsonGenerator(sw);
om.writeValue(jg, o);
jg.close();
} catch (IOException e) {
e.printStackTrace();
}
return sw.toString();
}

Json形式:

  • 形式一:
{"total":29,"rows":[{"id":1,"brandName":"兄弟","isvalid":"已启用"},{"id":2,"brandName":"西红柿","isvalid":"已启用"}]}

后台实现:

List<AuxiliaryBrand> list =  auxiliaryService.getAuxiliaryBrand(paramMap,intPage,number,user);

int count = auxiliaryService.getAuxiliaryBrandCount(paramMap,user);

Map<String, Object> map = new HashMap<String, Object>();
map.put("total", count);
map.put("rows", list2); this.writeJson(map);//顶部公共方法

前台获取:

 onLoadSuccess: function (data) {
if (data.total == 0) {
//active
} var rows = data.rows;
}
  • 形式二:
{"success":false,"msg":"品牌名称【兄弟】已存在!请重新输入!","obj":null}

后台:

 /**
* 品牌重复性检索
*/
public void repeatCheckAuxiliaryBrand(){
String brandName = request.getParameter("brandName");
String actionType = request.getParameter("actionType");
int checkFlag= auxiliaryService.repeatCheckAuxiliaryBrand(brandName,actionType);
Json j=new Json();
if(checkFlag==2){
j.setSuccess(false);
j.setMsg("品牌名称【"+brandName+"】已存在!请重新输入!");
}else{
j.setSuccess(true);
j.setMsg(actionType);
}
this.writeJson(j);//顶部公共方法
}

Json对象j的数据

response.getWriter().write(json);后的值

传到前台接收:

 /**
* 重复检验
*/
function repeatCheck(actionType){
var brandName = $('#brandNames').textbox('getValue');
var url = context_path + '/auxiliary/repeatCheckAuxiliaryBrand.do';
$.ajax({
url : url,
data : {
brandName : brandName,
actionType :actionType
},
dataType : 'json',
success : function(result) {
if (result.success){
var action=result.msg;
submitSave(action);
return true;
}else{
$.messager.alert('操作提示', result.msg,'warning');
return false;
}
}
});
}

json信息的后台到前台的传输的更多相关文章

  1. 前台jquery+ajax+json传值,后台处理完后返回json字符串,如何取里面的属性值?(不用springmvc注解)

    一.取属性值 前台页面: function select(id){ alert("hfdfhdfh"+id); $.ajax({ url:"selectByid.jsp& ...

  2. 用ajax获取后台数据,返回json数据,怎么在前台使用?

    用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ...

  3. bootstrap-treeview后台Json数据的封装及前台的显示

    1.bootStrap-treeview是我们常用的树形结构,页面风格也比较清新,但是后台数据的封装比较麻烦,经过研究终于解决,和大家分享一下. 2.前端代码如下 <script> var ...

  4. 后台向前台响应的json数据格式的一些问题

    最近在写后台向前台easyUI页面发送数据时遇到的一些报错. 首先easyUI内部封装了许多的方法和对象,以至于很多参数都不清楚,需要查询,其次easyUI也是有内置ajax所以从后台响应回来的数据一 ...

  5. 由ASP.NET所谓前台调用后台、后台调用前台想到HTTP——理论篇

    工作两年多了,我会经常尝试给公司小伙伴儿们解决一些问题,几个月下来我发现初入公司的小朋友最爱问的问题就三个 1. 我想前台调用后台的XXX方法怎么弄啊? 2. 我想后台调用前台的XXX JavaScr ...

  6. ajax使用json数组------前端往后台发送json数组及后台往前端发送json数组

    1.引子 Json是跨语言数据交流的中间语言,它以键/值对的方式表示数据,这种简单明了的数据类型能被大部分编程语言理解.它也因此是前后端数据交流的主要方式和基础. 2.前端往后台传输json数据 第一 ...

  7. 【spring 注解 错误】使用controller 作为后台给前台ajax交互数据出错

    controller作为后台与前台的ajax进行交互,后台的方法处理完成返回一个boolean类型的值,想传给前台用来判断是否执行成功,BUT,问题来了: 严重: Servlet.service() ...

  8. js前台与后台数据交互-后台调前台(后台调用、注册客户端脚本)

    转自:http://blog.csdn.net/wang379275614/article/details/17049721 客户端脚本一般都在前台,这里讲的是(1)在后台调用前台定义的脚本(2)在后 ...

  9. js调用.net后台事件,和后台调用前台等方法以及js调用服务器控件的方法

    http://blog.csdn.net/deepwishly/article/details/6670942  ajaxPro.dll基础教程(前台调用后台方法,后台调用前台方法) 1. javaS ...

随机推荐

  1. hashlib、logging模块

    hashlib模块 hashlib提供了常见的摘要算法,如md5和sha1等等. 那么什么是摘要算法呢?摘要算法又称为哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通 ...

  2. PyCharm新建.py文件时自动带出指定内容

    如:给Pycharm加上头行  # coding:utf-8File—Setting—Editor--Code Style--File and Code Templates--Python Scrip ...

  3. java 基础知识点必备

    1.为什么集合类没有实现Cloneable和Serializable接口? 克隆(cloning)或者是序列化(serialization)的语义和含义是跟具体的实现相关的.因此,应该由集合类的具体实 ...

  4. GoogleTest入门

    Googletest入门 来源:https://github.com/google/googletest/blob/master/googletest/docs/primer.md P.S. gmoc ...

  5. 【第一部分】09Leetcode刷题

    一.位1的个数 题目:191. Number of 1 Bits C++ Soution 1: class Solution { public: int hammingWeight(uint32_t ...

  6. SRS流媒体服务器搭建+ffmpeg推流VLC取流观看

    一.编译SRS https://github.com/winlinvip/simple-rtmp-server 目前有1.0-release.2.0.3.0等版本 2.0官方文档地址:https:// ...

  7. scrollReveal.js – 页面滚动显示动画JS

    简介 和 WOW.js 一样,scrollReveal.js 也是一款页面滚动显示动画的  JavaScript ,能让页面更加有趣,更吸引用户眼球.不同的是  WOW.js  的动画只播放一次,而 ...

  8. 将Elasticsearch的快照备份到HDFS

    1.安装Elasticsearch插件repository-hdfs 下载地址:https://artifacts.elastic.co/downloads/elasticsearch-plugins ...

  9. EF Core Migration

    //添加migrations dotnet ef migrations add [名称] //根据model更新sql表结构 dotnet ef database update //删除最新的migr ...

  10. Java基础知识➣多线程编程(五)

    概述 Java 给多线程编程提供了内置的支持.一个多线程程序包含两个或多个能并发运行的部分.程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径.使用多线程也是为了充分的利用服务器资源, ...