我正在尝试将模型数据加载到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>
答案 0 :(得分:0)
由于您的Controller正在返回json,因此您对服务器的请求必须包含标头Accept:application-json
。确保它是由来电者设定的。
答案 1 :(得分:0)
尝试将<mvc:annotation-driven/>
添加到您的调度程序servlet.xml