springmvc 返回json数据给前台jsp页面展示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014079773/article/details/51866223

在实际开发中,我们经常要把需要发数据封装成json中返回给前台,然后对获得的数据进行一些逻辑操作。请看以下例子。

1.controller中获得机构人员信息

@Controller
@RequestMapping(value="/events")
public class TEventsController {
    @Autowired
   private TEventsServiceImpl  eventsService;
    /**
     * 
     *@descript: 指定机构下所有人员信息
     *@param req
     *@param jgbh
     *@return
     */
    @RequestMapping(value="/polices",produces = { "application/json;charset=UTF-8" })
    @ResponseBody
    public String  findAllpolices(HttpServletRequest req,HttpServletResponse resp, @RequestParam(value="jgbh",required=false)String jgbh){
        JSONArray array =new JSONArray();
         List<PoliceI> policeList=this.eventsService.findAllPoliceByDeptCode(jgbh);
         for(PoliceI police:policeList){
             String rybh=police.getRybh();
             String xm=police.getXm();
             JSONObject obj=new JSONObject();
                    //前台通过key值获得对应的value值
             obj.put("rybh", rybh);
             obj.put("xm", xm);
             array.add(obj);
         }
        return array.toString();
    }

}

2.jsp页面:

在该div下拼接获得的机构下所有人员信息

<div  id="policeInfos"  style="margin-top:5px ;overflow-y:auto;  height: 150px"></div>

 $.ajax({
    type:"post",   
    url:basePath + "events/polices.do",
    data:{"jgbh":jgbh},
    dataType:"json",
    success : function(data) {
       //alert(data);
       var vendorJson = eval(data);//把json数据转换为字符串
       //拼接机构下人员信息
       $("div#policeInfos").html("");
       var _htmls="<div style='line-height:20px;'>";
       $.each(vendorJson,function (index , item ) {
       //注意这里通过后台传递的key值获得对应的value值,前后必须保持一致,否则获得不了值
       //alert("rybh:"+item.rybh); alert("xm:"+item.xm);
	_htmls+="<span style='margin-left:20px;'><input  style='margin:5px;'  type='checkbox' name='rybh' value='"+item.rybh+"'/>"+item.xm+"</span>";
       });
        _htmls+="</div>";   
       $("div#policeInfos").html(_htmls);
    }// end success
});// end ajax

备注:

1:在前台要解析获得的json数据,转换为string类型数据。则js方法eval();

2:springmvc返回json数据用@ResponseBody,前台就可以直接获得数据,前提是在springmvc中要进行配置json转换配置,在项目中引入jackson jar包。


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页