2012-01-31 8 views
0

JAVAコントローラクラスにExt.Ajax.requestを使用して渡しているパラメータを取得する際に、問題が1つあります。JavaコントローラのExt.Ajax.requestからパラメータを取得する方法

私は要求を受信するために、私の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 
の下に言及したエラーを与える

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); 
      } 
      }); 

コードの下を使用して、私のコントローラに要求を送信しています

私は間違って何をしている私の関数は、サンプリングされたデータを取得することを許可されていませんパーameters。どのように私は私のパラメータ渡される任意のアイデアを得ることができますか?

私のfirebugは、sampledataにすべての値が含まれていることを示しています。できるだけ早く問題を見つけて解決してください。

サーバーサイドの技術としてExt JS 4.0.2aとJAVAを使用しています。

+0

申し訳ありませんが、私は自分のAjaxリクエストからjsonDataとタイプを削除してエラーを解決しました。代わりに私はちょうど** params:{'id':record.get( 'id')} **を追加し、サーバー側では** request.getParameter( "id")**で値を取得しています –

答えて

0

あなたは

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

は、POSTデータを取得するために使用することができます。

関連する問題