解决后台传输list到前台以json格式

来源:互联网 发布:国外有淘宝吗 编辑:程序博客网 时间:2024/05/21 12:52

我用的框架是springmvc+hibernate,前段用easyui。

后台经过查询后得到一个list数据。

controller类:

@RequestMapping("/getOrderInfo")@ResponseBodypublic 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格式得到了。

如果有错误,望指出,让大家一同学习。

0 0
原创粉丝点击