Ext.Ajax.request を使用して Java コントローラー クラスに渡すパラメーターを取得する際に 1 つの問題があります。
以下のコードを使用してコントローラーにリクエストを送信しています
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<String, ? extends Object> 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
そのため、関数がパラメーターとして渡されたサンプルデータを取得できなかったのは間違っています。パラメータに渡された値を取得するにはどうすればよいですか?
私のfirebugは、sampledataにすべての値が含まれていることを示しています。問題を見つけて、できるだけ早く解決するのを手伝ってください。
Ext JS 4.0.2a と JAVA をサーバー側のテクノロジとして使用しています。