2017-05-06 18 views
0

我想从SPRING Web MVC的网格中加载远程数据。 这里是我的控制器方法:用于JSP的Kendo-UI:用于网格的远程数据无法加载

@SuppressWarnings("unchecked") 
@RequestMapping(value = "/remote-data-binding/read", method = RequestMethod.POST) 
public @ResponseBody String read() { 

    JSONObject obj = new JSONObject(); 
    JSONArray arr = new JSONArray(); 

    obj.put("id", "1"); 
    obj.put("name", "thomas"); 
    obj.put("decription", "erster Eintrag"); 

    arr.add(obj); 

    obj = new JSONObject(); 

    obj.put("id", "2"); 
    obj.put("name", "Dieter"); 
    obj.put("decription", "zweiter Eintrag"); 

    arr.add(obj);  

    return arr.toJSONString(); 
} 

我的JSP是这样的:

<h2>Table/Grid Test</h2> 
    <kendo:grid name="TestGrid" pageable="true" sortable="true" selectable="multiple" resizable="true" groupable="true" reorderable="true"> 
    <kendo:grid-columns> 
     <kendo:grid-column title="Nummer" field="id" /> 
     <kendo:grid-column title="Name" field="name" /> 
     <kendo:grid-column title="Beschreibung" field="description" /> 
    </kendo:grid-columns> 
    <kendo:dataSource pageSize="20" serverPaging="true" serverSorting="true" serverFiltering="true" serverGrouping="true"> 
     <kendo:dataSource-transport>     
      <kendo:dataSource-transport-read url="remote-data-binding/read.html " type="POST" contentType="application/json"/> 
      <kendo:dataSource-transport-parameterMap> 
       function(options){return JSON.stringify(options);} 
      </kendo:dataSource-transport-parameterMap>    
     </kendo:dataSource-transport> 

    </kendo:dataSource> 
    <kendo:grid-pageable input="true" numeric="false" /> 
</kendo:grid> 

我检查在浏览器中响应:

[{"decription":"erster Eintrag","name":"thomas","id":"1"},{"decription":"zweiter Eintrag","name":"Dieter","id":"2"}] 

网格是不填充!为什么?

回答

0

是必要的一个模式添加到数据源,如下面的例子:

<kendo:dataSource-schema groups="data"> 
<kendo:dataSource-schema-model id="id"> 
    <kendo:dataSource-schema-model-fields> 
     <kendo:dataSource-schema-model-field name="name" 
      type="string" /> 
     <kendo:dataSource-schema-model-field name="location" 
      type="string" /> 
     <kendo:dataSource-schema-model-field name="description" 
      type="string" /> 
     <kendo:dataSource-schema-model-field name="imagePath" 
      type="string" /> 
     <kendo:dataSource-schema-model-field name="detailUrl" 
      type="string" /> 
     <kendo:dataSource-schema-model-field name="providerStatus" 
      type="string" /> 
    </kendo:dataSource-schema-model-fields> 
</kendo:dataSource-schema-model> 
</kendo:dataSource-schema> 

取决于基团的属性必须正确设置也响应的JSON-结构!