2017-09-20 1 views
0

Quelqu'un peut-il me dire comment récupérer les données d'un contrôleur en retournant des données de type hashmap dans jqgrid?afficher les données dans un format de tableau en utilisant jqgrid

C'est ce que j'ai essayé. Son entrée dans une Lop infinie

$(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" 
    }); 
}); 

Controller partie

@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); 
} 

exemple: valeur employés [1 ram 22 12234 usa oui, 6 abc 25 23889 xyz, oui]

S'il vous plaît aider quelqu'un moi pour résoudre cela. son donnant erreur d'analyse: message XML invalide

+2

S'il vous plaît nous montrer les exemples de données de cet appel AJAX. – juzraai

+0

valeur [1 ram 22 12234 usa oui, 6 abc 25 23889 xyz, oui] – abc

Répondre

2

Peut-être vous manque sur datatype clé dans les options jqGrid

Vérifiez ce que votre url ${pageContext.request.contextPath}/employees retour? et spécifiez le même type de données dans une autre option datatype

Selon la documentation, la valeur par défaut datatype est xml.

Essayez de changer à json

+0

Y at-il une possibilité de le faire sans convertir en JSON? – abc

+0

C'est ce que la documentation dit que vous pouvez donner dans le type de données: Définit dans quel format attendre les données qui remplissent la grille. Les options valides sont xml (nous attendons des données au format xml), xmlstring (nous attendons des données xml sous forme de chaîne), json (nous attendons des données au format JSON), jsonstring (nous attendons des données JSON sous forme de chaîne), local côté client (données de tableau)), javascript (nous attendons javascript comme données), fonction (fonction personnalisée pour récupérer des données), ou clientSide pour charger manuellement des données via la matrice de données. – gabbarsingh

+0

J'ai essayé de donner le type de données en tant que xml et local. – abc