在springmvc中controller的结果集可通过json格式传到js前端接受,也可以通过Map传给前端,具体实现如下

1,通过json格式传递

controller层实现如下

  1. @RequestMapping("queryCityInfo")
  2. @ResponseBody
  3. public String queryCityInfo()throws Exception{
  4. String provinceId = getString("id");
  5. @SuppressWarnings("rawtypes")
  6. List cityList = personalService.queryCity(provinceId);
  7. if(null != cityList && cityList.size() >0 ){
  8. String json = JSONUtils.toJSONString(cityList);
  9. super.outStr(json);
  10. }
  11. return null;
  12. }
  13. protected void outStr(String str)</span>
  14. {
  15. try
  16. {
  17. response.setCharacterEncoding("UTF-8");
  18. response.getWriter().write(str);
  19. }
  20. catch (Exception e)
  21. {
  22. }
  23. }
  24. public static <T> String toJSONString(List<T> list)
  25. {
  26. JSONArray jsonArray = JSONArray.fromObject(list);
  27. return jsonArray.toString();
  28. }

js端接受如下

  1. function selectBankCity(id){
  2. $.ajax({
  3. url:baseAddress+"queryCityInfo.do?provinceId="+id,
  4. type:'get',
  5. dataType:'json',
  6. success:function(data){
  7. $('#custBankArea').empty();
  8. $('#custBankArea').append("<option >--请选择城市信息--</option>");
  9. for(var i=0;i<data.length;i++){
  10. $('#custBankArea').append("<option value='"+data[i].id+"'>"+data[i].cityName+"</option>");
  11. }
  12. }
  13. });
  14. }

2,通过Map传递

controller层实现如下

  1. @RequestMapping("queryProvince")
  2. @ResponseBody
  3. public Map<String, Object>  queryProvince(HttpServletRequest request,HttpServletResponse response){
  4. Map<String, Object> map = new HashMap<String, Object>();
  5. try {
  6. @SuppressWarnings("rawtypes")
  7. List provinceList = personalService.queryProvince();
  8. if(null != provinceList && provinceList.size() >0 ){
  9. map.put("province", provinceList);
  10. }
  11. } catch (Exception e) {
  12. // TODO Auto-generated catch block
  13. e.printStackTrace();
  14. }
  15. return map;
  16. }

js端接受如下

    1. $.ajax({
    2. url:baseAddress+"queryProvince.do",
    3. type:"get",
    4. success:function(resData){
    5. var data = resData.province;
    6. for(var i=0;i<data.length;i++){
    7. //js实现
    8. //var objs = document.getElementById("cusBankCity")
    9. //objs.options.add(new Option(data[i].provinceName) ,data[i].id);
    10. //jq实现
    11. $("#cusBankCity").append("<option value='"+data[i].id+"'>"+data[i].provinceName+"</option>");
    12. }
    13. }
    14. });

springmvc和js前端的数据传递和接收方式的更多相关文章

  1. SpringMVC -- 梗概--源码--壹--数据传递

    附:实体类 Class : User package com.c61.entity; import java.text.SimpleDateFormat; import java.util.Date; ...

  2. 关于vue.js父子组件数据传递

    vue.js中使用props down,events up的原则进行父子组件间的通信,先来记录下props down,看个例子: <div id="app2"> < ...

  3. SpringMvc+ajax 实现json格式数据传递

    传JSON对象 前端 function test () { var param = {username : "yitop"}; $.ajax({ timeout : 20000, ...

  4. angular js 指令的数据传递 及作用域数据绑定

    <div my-directive my-url="http://google.com" my-link-text="Click me to go to Googl ...

  5. js前端获取页面传递的参数

    转载的,先记下: UrlParm = function () { // url参数 var data, index; (function init() { data = []; index = {}; ...

  6. 【Android学习】数据传递三种方式

    1.Application 注意在清单文件中的Application节点下注册android:name属性, 继承Application类,重写onCreate方法, 使用数据时,实例化自定义类时需要 ...

  7. api拆分(数据传递和接收的几种方式)

    传递方式一:对象转String 接收:String类型接收再转对象 传递方式二:Map 接收:Map 传递方式三:json(Map转json) 接收:String转Map 传递方式四:Map里放jso ...

  8. 前端mock数据的几种方式

    方式 备注 本地php服务架设 直接输出json 使用在线mock服务 如easyMock.apizza.Rap1\2 , 可以远程协作  本地node服务:koa+mongodb    本地node ...

  9. React中父组件与子组件之间的数据传递和标准化的思考

    React中父组件与子组件之间的数据传递的的实现大家都可以轻易做到,但对比很多人的实现方法,总是会有或多或少的差异.在一个团队中,这种实现的差异体现了每个人各自的理解的不同,但是反过来思考,一个团队用 ...

随机推荐

  1. [独孤九剑]Oracle知识点梳理(十)%type与%rowtype及常用函数

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  2. 学习动态性能表(8)--v$lock&v$locked_object

    学习动态性能表 第八篇-(1)-V$LOCK  2007.5.31 这个视图列出Oracle 服务器当前拥有的锁以及未完成的锁或栓锁请求.如果你觉着session在等待等待事件队列那你应该检查本视图. ...

  3. Python 函数之装饰器

    1.函数 #### 第一波 #### def foo(): print 'foo' foo #表示是函数 foo() #表示执行foo函数 #### 第二波 #### def foo(): print ...

  4. Linux测试程序 - 多线程

    #include <sched.h> #include <pthread.h> main(){ pthread_t id0, id1, id2; ret=pthread_cre ...

  5. Day2-VIM(六): 恢复

    恢复在VIM里比较简单,不过想要具体恢复到某个时间段很难 就我的经验而言,有时候使用恢复还不如删了重写 这里我们来讲讲恢复.撤销和重复命令的使用 u 撤消上次命令 U 恢复整行 ctrl+r 重做 . ...

  6. 2017年总结&2018年计划

    谈一谈2017年计划: 1.完成壁咚项目2.写一个自己的扫描器3.完善web安全手册.4.搞一个大漏洞或CVE的漏洞 完成进度:1.壁咚这个项目,当初发誓要用java来写完,其实最开始就已经写完了,前 ...

  7. CreateMutex实现只能打开一个客户端

    #include "stdafx.h" #include <Windows.h> #include <iostream> using namespace s ...

  8. 11-23网页基础--JavaScript基础知识

    第一课 JavaScript简介 一.定义:JavaScript是脚本语言,需要宿主文件,它的宿主文件是html文件. JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 ...

  9. 10-23C#基础--特殊集合(stack、queue、hashtable)

    特殊集合一:stack集合--堆集合 1.定义:堆集合是集合中一种特殊的类,在Stack中也有许多方法和属性,下面一一列举: 命名格式:Stack ss=new Stack(); 2.如何添加数据:p ...

  10. Android上 dip、dp、px、sp等单位说明

    dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖像素. ...