【问题标题】:jqgrid json data type with spring mvc带有spring mvc的jqgrid json数据类型
【发布时间】:2011-07-20 03:41:54
【问题描述】:

我是 jqgrid 的新手,我试图模拟上面的代码,但它不起作用。在服务器端我创建了类

public class TaskBean {
String orderId;
String realty;
String building;
String priority;
String action;
String assignee; // add getter/setter methods
}

TaskBeanList.java

public class TaskBeanList {
private String page;
private String total;
private String records;
private List<TaskBean> rows;
}

弹簧控制器代码

@RequestMapping("/page4.htm")
public @ResponseBody TaskBeanList   getJQGridData(HttpServletRequest request, HttpServletResponse response) {
System.out.println("xml data");
List<TaskBean> taskList = new ArrayList<TaskBean>();
   taskList.add(new TaskBean("Task1", "K-CY-329", "144", "G-3", "1", "Pending", "XYZ"));
    taskList.add(new TaskBean("Task2", "K-CY-356", "165", "A-10", "4", "Closed", "ABC"));
    taskList.add(new TaskBean("Task3", "K-CY-343", "768", "B-12", "3", "Pending", "IJK"));
    taskList.add(new TaskBean("Task4", "K-CY-786", "918", "F-9", "2", "Open", "PQR"));
    TaskBeanList tsklst = new TaskBeanList("1", "5", "20", taskList); 
    return tsklst; 
}

客户端 JQGrid JS 代码

jQuery(document).ready(function(){ 
jQuery("#list3").jqGrid({
autowidth: true,
datatype : "json",
url: "http://localhost:8080/SpringMVC/page4.htm",
mtype: 'get',
colNames : ["Title","Order ID","Realty","Building",
        "Priority","Action","Assignee"],
colModel : [
{label: "Title",   name: "title",   index: "Title", jsonmap: "orderId"},
{label: "OrderID", name: "orderId", index: "OrderID", jsonmap: "orderId"},
{label: "Realty",  name: "realty",  index: "Realty",  jsonmap: "realty" },
{label: "Building",name: "building",index: "Building",jsonmap: "building"},
{label: "Priority",name: "priority",index: "Priority",jsonmap: "priority"},
{label: "Action",  name: "action",  index: "Action",  jsonmap: "action"  },
{label: "Assignee",name: "assignee",index: "Assignee",jsonmap: "assignee"}
],
sortname : "Title",
sortorder : "desc",
shrinkToFit: true,
viewrecords: true,
jsonReader : {
  root: "rows",
  page: "page",
  total: "total",
  records: "records",
  repeatitems: false,
  cell: "cell",
  id: "id",
  userdata: "userdata",
  subgrid: {root:"rows", 
        repeatitems: true, 
        cell:"cell"
      }       
}
}); });

谁能帮助解决这个问题?当我看到 jqgrid 示例代码时,看起来很简单,但我没有看到任何输出。输出页面为空。请帮忙解决。

谢谢

【问题讨论】:

    标签: json jqgrid


    【解决方案1】:

    我建议你先看看下面的教程:

    jqGrid 和 Spring 3 MVC 集成教程http://krams915.blogspot.com/2010/12/jqgrid-and-spring-3-mvc-integration.html

    您可能会从该教程中找到答案,或者至少它会完善您正在寻找的内容。

    【讨论】:

    • 感谢 chris,我已经开始使用 jackson 插件将 java 对象转换为 JSON。如果我将 包含到我的 dispatcher-servlet.xml 中,我会收到 saxparser 异常。我在我的类路径中保留了杰克逊罐。谁能帮帮我?
    【解决方案2】:

    @user669789 首先阅读 chris 提到的 krams 教程。我也是 jqgrid 的新手,但该教程和源代码对我有很大帮助。另一种选择是根据 jqgrid 中的 jsonreader 使用硬编码的 json 值和看看它是否被填充。看看this example by Oleg

    尝试将其写入打印机并查看天气,您可以通过 URL 调用它来获取 json 输出

    【讨论】:

      【解决方案3】:

      在Controller中,你可以尝试将列表转换为Json。如果所有列名都匹配,那么Json值将直接绑定到JQGrid

      控制器类

      @RequestMapping("/page4.htm")
      public @ResponseBody String getJQGridData(HttpServletRequest request, HttpServletResponse response) {
      System.out.println("xml data");
      List<TaskBean> taskList = new ArrayList<TaskBean>();
         taskList.add(new TaskBean("Task1", "K-CY-329", "144", "G-3", "1", "Pending", "XYZ"));
          taskList.add(new TaskBean("Task2", "K-CY-356", "165", "A-10", "4", "Closed", "ABC"));
          taskList.add(new TaskBean("Task3", "K-CY-343", "768", "B-12", "3", "Pending", "IJK"));
          taskList.add(new TaskBean("Task4", "K-CY-786", "918", "F-9", "2", "Open", "PQR"));
          TaskBeanList tsklst = new TaskBeanList("1", "5", "20", taskList);
          Gson gson = new GsonBuilder().setPrettyPrinting().create();
          String result = gson.toJson(tsklst ); 
          return result; 
      }
      

      下载 gson.jar 然后试试这个

      它对我有用。您也可以从这里参考示例项目

      http://www.jriyazahamed.blogspot.com/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-08
        • 1970-01-01
        • 1970-01-01
        • 2017-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多