带有spring mvc jqgrid

时间:2015-07-23 13:17:09

标签: spring jqgrid integration

我正在尝试将模型数据加载到spring mvc应用程序中的jqgrid中。它在另一个Spring MVC应用程序中运行良好,具有以下代码和依赖项,但它不适用于我,我收到以下错误。   406错误(HTTP状态错误):此请求标识的资源只能根据请求生成具有不可接受特征的响应"接受"头。 请做好。

     **more data:**

       Spring Version :<spring.version>4.1.0.RELEASE</spring.version>

      Spring Security Version:
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-core</artifactId>
                <version>3.2.4.RELEASE</version>
            </dependency>
      Java Version:<java.version>1.8</java.version>


       **Controller:** 


          @RequestMapping(value = "/getPackageList", method = RequestMethod.GET)
                    public @ResponseBody CustomResponse getPackageList( ) {
                        List<Customize> customize = Customize.findAllCustomize();
                        System.out.println("Comes here to fetch list");     
                        CustomResponse response = new CustomResponse();
                        response.setCustomize(customize);
                        response.setRecords(String.valueOf(customize.size()));
                        response.setPage("1");
                        response.setTotal("10");
                        //System.out.println("response::::"+response);
                        return response;
                    }


        **pom.xml**



        <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>1.9.13</version>
                <scope>compile</scope>
                </dependency>
                <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>1.9.13</version>
                <scope>compile</scope>
                </dependency>
                <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.2.3</version>
                </dependency>
                <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.2.3</version>
                </dependency>
                <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                 <artifactId>jackson-core</artifactId>
                 <version>2.2.3</version>
                </dependency>

    **JQGrid:**

        <script>
            $(function() {
                  $("#grid").jqGrid({
                   url:'${pageContext.request.contextPath}/superAdmin/getPackageList',
                   datatype: 'json',

                   mtype: 'GET',
                   colNames:['Basepackage','Details','Cost','Duration'],
                   colModel:[         
                       {name:'basepackage',index:'basepackage', width:49,sortable:true,sorttype:'int'},
                       {name:'details',index:'details', width:49,sortable:false},
                       {name:'cost',index:'cost', width:49,sortable:false} ,
                       {name:'duration',index:'duration', width:49,sortable:false} 

                      ],
                   getData: {
                   },
                   rowNum:10,
                      rowList:[5,10,15,20],
                      height: 200,
                      autowidth: true,
                      rownumbers: false,
                      pager: '#pager',
                      sortname: 'basepackage', 
                      caption:"Package List",
                      viewrecords: true,
                      ignoreCase: true,
                      sortorder: "asc",
                      emptyrecords: "Empty records",
                      loadonce: true,
                      loadComplete: function() {
                   },
                      jsonReader : {
                          total: "total",
                          page: "page",
                          records: "records",
                          root: "customize", 
                          repeatitems: false,
                          cell: "cell",
                          id: "basepackage"
                      }
                  });
                  $("#grid").jqGrid('navGrid','#pager',
                            {edit:false,add:false,del:false,search:true},
                            { },
                                  { },
                                  { }, 
                            { 
                                sopt:['cn', 'ne', 'lt', 'gt', 'eq', 'bw', 'ew'],
                                   closeOnEscape: true, 
                                    multipleSearch: false, 
                                     closeAfterSearch: true }
                          ); 

                          $("#btnFilter").click(function(){
                           $("#grid").jqGrid('searchGrid',
                             {multipleSearch: false, 
                              sopt:['cn', 'ne', 'lt', 'gt', 'eq', 'bw', 'ew']}
                           );
                          }); 



                 });

            </script>

             Reviewed Patches



             <div id="jqgrid">
                <table id="grid"></table>
                <div id="pager"></div>
            </div>

2 个答案:

答案 0 :(得分:0)

由于您的Controller正在返回json,因此您对服务器的请求必须包含标头Accept:application-json。确保它是由来电者设定的。

答案 1 :(得分:0)

尝试将<mvc:annotation-driven/>添加到您的调度程序servlet.xml