我在检索参数时遇到了一个问题,即使用Ext.Ajax.request传递给我的JAVA控制器类。如何在java控制器中从Ext.Ajax.request中获取参数
我使用下面的代码
Ext.Ajax.request({
url : 'projecttask/GetprojectTasks.action',
method: 'POST',
jsonData: {
sampledata: record.data
},
type: 'json',
scope: this, // add the scope as the controller
callback : function(options, success, response) {
console.log('RESPONSE FROM SERVER :'+response);
}
});
我的Java控制方法接收请求发送请求到我的控制器
@RequestMapping(value="/projecttask/GetprojectTasks.action")
public @ResponseBody Map getprojectTasks(HttpServletRequest request,
HttpServletResponse response,@RequestBody Project project) throws Exception {
try {
System.out.println("PROJECT ::"+project);
System.out.println("RPOJECT DATA ::"+request.getParameter("sampledata"));
Object data = request.getParameter("sampledata");
Project prj = (Project) data;
System.out.println("CREATE TASK DATA IS ::"+prj.getProjectid());
return null;
}catch(Exception e) {
return getModelMapError("Error trying to create contact");
}
}
,但它给了我下面
org.codehaus.jackson.map.JsonMappingException: Unrecognized field "sampledata" (Class com.kintu.projectmgt.model.Project), not marked as ignorable 提到的错误
所以我做错了哪些不允许我的函数获取sampledata作为参数传递ameters。我怎样才能得到我的参数传递值任何想法?
我的萤火虫显示sampledata包含所有值。请帮我找到问题并尽快解决。
我使用Ext JS 4.0.2a和JAVA作为我的serverside技术。
+0
抱歉,我通过从我的Ajax请求中删除了jsonData和type来解决我的错误。相反,我刚刚添加** params:{'id':record.get('id')} **并在服务器端,我得到的值与request.getParameter(“id”)** –
2012-01-31 12:02:58