在实际开发中,我们经常要把需要发数据封装成json中返回给前台,然后对获得的数据进行一些逻辑操作。请看以下例子。
1.controller中获得机构人员信息
@Controller @RequestMapping(value="/events") public class TEventsController { @Autowired private TEventsServiceImpl eventsService; /** * [email protected]: 指定机构下所有人员信息 [email protected] req [email protected] jgbh [email protected] */ @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+""; }); _htmls+="</div>"; $("div#policeInfos").html(_htmls); }// end success });// end ajax
备注:
1:在前台要解析获得的json数据,转换为string类型数据。则js方法eval();
2:[email protected],前台就可以直接获得数据,前提是在springmvc中要进行配置json转换配置,在项目中引入jackson jar包。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/11202.html