2017-09-20 61 views
0

任何人都可以告诉我如何从控制器中获取数据,将类型hashmap的数据返回给jqgrid?使用jqgrid以表格格式显示数据

这是我试过的。它进入一个无限垂耳

$(document).ready(function(){ 
    $("#datatable").jqGrid({ 
     url:"${pageContext.request.contextPath}/employees", 
     cache: false, 
     colNames:["id","name","age","salary","address","laptop"], 
     colModel:[ 
        {name:"id",index:"id", width:60}, 
        {name:"name",index:"name", width:90}, 
        {name:"age",index:"age", width:100}, 
        {name:"salary",index:"salary", width:80, align:"right"}, 
        {name:"address",index:"address", width:80, 
align:"right"},  
        {name:"laptop",index:"laptop", width:80,align:"right"}  
       ], 

      mtype: "GET", 
      rownumbers: true, 
      rownumWidth: 40, 
      gridview: true, 
      caption: "Hashmap Data" 
    }); 
}); 

控制器部分

@RequestMapping(value="/employees", method = RequestMethod.GET) 
public ModelAndView listEmployees() { 
    Map<String, Object> model = new HashMap<String, Object>(); 
    model.put("employees", 
    prepareListofBean(employeeService.listEmployeess())); 
    for (Entry<String, Object> entry : model.entrySet()) { 
     String key = entry.getKey().toString(); 
     Object value = entry.getValue(); 
     System.out.println("hello key, " + key + " value " + value); 
     } 
    return new ModelAndView("employeesList", model); 
} 

例如: 员工创造价值[1冲头22 12234 USA是,6 ABC 25 23889 XYZ,是]

请人帮忙我在解决这个问题。 其给予解析错误:无效的XML消息

+2

请告诉我们,AJAX调用的示例数据。 – juzraai

+0

value [1 ram 22 12234 usa yes,6 abc 25 23889 xyz,yes] – abc

回答

2

也许你缺少对datatype关键在jqGrid的选项

检查什么是您的网址${pageContext.request.contextPath}/employees回报?并在另一选项中指定相同的数据类型datatype

根据documentation,默认值datatypexml

尝试将其更改为json

+0

有没有可能在不转换成json的情况下做到这一点? – abc

+0

这是文档中说的数据类型可以给出的内容: 定义以何种格式预期填充网格的数据。有效的选项是xml(我们期望数据为xml格式),xmlstring(我们期望xml数据为字符串),json(我们预期数据为JSON格式),jsonstring(我们期望JSON数据为字符串),local(我们期望数据定义在客户端(数组数据)),javascript(我们期望javascript作为数据),函数(用于检索数据的自定义函数)或clientSide通过数据数组手动加载数据。 – gabbarsingh

+0

我曾尝试给xml以及本地数据类型。 – abc