json怎么在jsp页面显示内容
1个回答
展开全部
在实际开发中,我们经常要把需要发数据封装成json中返回给前台,然后对获得的数据进行一些逻辑操作。请看以下例子。
1.controller中获得机构人员信息
[java] view plain copy
@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>
[html] view plain copy
$.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值,前后必须保持一致,否则获得不了值
nbsp; //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包。
1.controller中获得机构人员信息
[java] view plain copy
@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>
[html] view plain copy
$.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值,前后必须保持一致,否则获得不了值
nbsp; //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包。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询