0

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 をサーバー側のテクノロジとして使用しています。

4

1 に答える 1

0

あなたが使用することができます

String postParamsJSON = request.getReader().readLine();

POST データを取得します。

于 2012-01-31T16:24:29.430 に答える