我用的框架是springmvc+hibernate,前段用easyui。
后台经过查询后得到一个list数据。
controller类:
@RequestMapping("/getOrderInfo")
@ResponseBody
public void getOrderInfo(SearchDto searchDto, HttpServletRequest request,
HttpServletResponse response, OrderDto orderDto) {
String issueNo = request.getParameter("issueNo");
List<OrderDto> list = orderService.getOrderInfo(orderDto,issueNo);
try {
ControllerUtils.printJson(list);
} catch (Exception e) {
e.printStackTrace();
}
}
ControllerUtils类 printJson方法:
public static void printJson(Object entity)throws Exception{
String json="";
if(entity!=null){
json=JsonUtil.getJson(entity);
}
LotContext.getResponse().getWriter().write(json);
}
前台得到的数据用firebug查看时一堆字符串,不是正确的json格式数据。
此时只需要在前台jsp页面用eval方法解析数据就可以了。
function searchOrder(){
$.messager.progress(); // 显示进度条
$('#ff').form('submit', {
url: 'getOrderInfo.htm',
onSubmit: function(){
var isValid = $(this).form('validate');
if (!isValid){
$.messager.progress('close'); // 如果表单是无效的则隐藏进度条
}
return isValid; // 返回false终止表单提交
},
success: function(result){ //result是后台返回的数据
var data = eval('(' + result + ')') //关键代码
$.messager.progress('close'); // 如果提交成功则隐藏进度条
console.info('data',data);
$('#tt').datagrid('loadData', data);
}
});
};
然后数据就可以正确的以json格式得到了。
如果有错误,望指出,让大家一同学习。