您的位置:首页 > 编程语言 > Java开发

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

2016-07-09 13:06 477 查看
在实际开发中,我们经常要把需要发数据封装成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包。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: