2017-09-20 51 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