Spring 3.2 @RequestBody 与json的输出
输出json
使用@RequestBody注解前台,然后将需要转换的数据map映射成相应的json格式,例如:
@RequestMapping(value="/findTask")
public@ResponseBody Map<String,List<Task>> findTask(Integer projectid)throws Exception{
Map<String,List<Task>>map = new HashMap<String,List<Task>>();
map.put("rows",list);
returnmap;
}
或者
@RequestMapping(value="/findTask")
@ResponseBody
publicMap<String,List<Task>> findTask(Integer projectid) throwsException{
Map<String,List<Task>>map = new HashMap<String,List<Task>>();
map.put("rows",list);
returnmap;
}
就可以将数据转换成如下的json格式:
{
"rows":[
{
"name": "做某某试验2",
"id": 2,
"specification": "初稿设计",
"auditTime": null,
"valid": null,
"assignedDate": 1347638400000,
"planBeginDate": null,
"planEndDate": null,
"beginDate": null,
"endDate": null
}
]
}
然后在前端页面jsp页面的接收的代码如下:
<script>
$(function(){
$('#task_tree').treegrid({
title:'任务',
animate:true,
url:'${pageContext.request.contextPath}/findTask?projectid=${project.id}',
idField:'id',
treeField:'name',
columns:[[
{field:'name',title:'节点属性',width:180},
{field:'specification',title:'节点名称',width:60,align:'right'},
{field:'begin',title:'任务负责人',width:80},
{field:'end',title:'分配日期',width:80,rowspan:2},
{field:'progress',title:'截止日期',width:120,rowspan:2},
{field:'progress',title:'节点状态',width:120,rowspan:2}
]]
});
});
</script>