springmvc 使用json传递数据

需要使用的框架

spring3.0

jquery(简化ajax开发的js库)

fastjson(操作json的超级轻量级框架,方便,简单,灵活,提供json对象和字符串、java引用对象、集合、数组之间的转换)

Jackson(json处理器)

 

1.Control类

import java.io.IOException;

import java.io.PrintWriter;

import javax.annotation.Resource;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;

import com.alibaba.fastjson.JSONObject;

/**

* 根据班级ID查询教师

* 输出json格式的对象集合,Ajax实现

* @author:qiuchen

* @createTime:2012-6-14

* @param teacherName

* @return

*/

@RequestMapping("/findTeaByCls")

public ModelAndView findTeacherByCls(int clsId,HttpServletRequest request, HttpServletResponse response){

List<Teacher> tempList = new ArrayList<Teacher>();

//根据班级ID查询教师列表

List<Teacher> teacherList = this.teacherService.findByClsId(clsId);

//封装id和name属性

for (Teacher t : teacherList) {

t.setClassesList(null);

tempList.add(t);

}

//创建JSON对象

JSONObject object = new JSONObject();  

    object.put("tList",teacherList);

    //设置响应类型

    response.setContentType("text/Xml;charset=gbk");

    PrintWriter writer = null;

    try {

//获取输出流

writer = response.getWriter();

writer.print(object.toString());

} catch (IOException e) {

e.printStackTrace();

} finally{

if(writer != null){

writer.close();

}

}

    return null;

}

 

2.JS

/*

* 查询班级的老师

*/

function findTeaByCls(clsId){

document.getElementById("teacher").innerHTML = "";

var url = "${ctx}/manage/teacher/findTeaByCls.do?clsId="+clsId;

$.ajax({type:"POST", url:url,dataType:"text", success:function(datas) {

var l = datas;

//eval()函数计算出tList是json对象(========纠结============)

var a = eval('('+l+')');

/*

* alert(l);

* alert(a);

* alert(a.tList.length);

* alert(a.tList[0].id);

* alert(a.tList[0].name);

*/

for(var i=0,size=a.tList.length;i<size;i++){

document.getElementById("teacher").innerHTML += a.tList[i].name+"&nbsp;&nbsp;&nbsp;";

}

}});

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值