2017-06-20 18 views
0

私は、フロントエンド(アヤックスポスト)からモデルを受け入れるために、コントローラのメソッドを持っていますから、null値を得ます。次のようには@ModelAttributeは、Ajaxのポスト

コントローラは、私は同様の機能を有する

public class LeadModal { 

private String clientName; 
private String companyName; 
private Long contactNumber; 
private String address; 
private Date meetingDate; 
private Time meetingTime; 
private String productsDealingWith; 
private Integer nadInCharge; 
private Integer tmeInCharge; 
private String status; 
private Integer nadAcceptanceStatus; 

public String getStatus() { 
    return status; 
} 
public void setStatus(String status) { 
    this.status = status; 
} 
public Integer getNadAcceptanceStatus() { 
    return nadAcceptanceStatus; 
} 
public void setNadAcceptanceStatus(Integer nadAcceptanceStatus) { 
    this.nadAcceptanceStatus = nadAcceptanceStatus; 
} 
...... 

、次のようにAJAX POSTリクエストは、以下のようにLeadModalは、

$.ajax({ 
      type:"POST", 
      url : "/biz/lead_post", 
      data : { 
       clientName : $('#clientName').val(), 
       companyName : $('#companyName').val(), 
       contactNumber : $('#contactNumber').val(), 
       address : $('#address_').val(), 
       meetingDate : $('#meetingDate').val(), 
       meetingTime : $('#meetingTime').val(), 
       productsDealingWith : $('#productsDealingWith').val(), 
       nadInCharge : $('#nad_dropdown').val, 
     }, 
      success : function(data) { 



      }, 
      error: function(e) { 

       alert("error"+e.Message); 
      } 
     }); 

ある、

@RequestMapping(value="/lead_post", method = RequestMethod.POST,produces="application/json") 
public @ResponseBody Response create_Task(ModelMap model,@ModelAttribute("lead_post") LeadModal leadmodal,HttpSession ses) 
{ 

あります作業していて、Ajaxのポストが発射されたときに、ここで上のモデルは、すべてのnull値を示しています。私はまた、手動で郵便配達のツールを使用してPOSTリクエストを送信しようとしたが、それはまだnull値を示しています。 任意の提案が理解されるであろう、ありがとうございました。

+0

'LeadModal'は何ですか?あなたはクラス 'Leads'を投稿しました。 'LeadModal'は' Leads'を拡張していますか?あなたはそれを見せることができますか? – alfcope

+0

申し訳ありませんが、私は間違ったクラスを投稿しました、ここに正しいものです – user7749322

+0

それはうまく見えます。あなたがエラーを取得していない場合、それは言うことは困難です。私はバインディングを行うときにエラーがあると思います。 clientNameを送信すればどうなりますか? – alfcope

答えて

0

は実際ミスマッチは、Ajaxポストによって送信された日付(すなわちYYYY-MM-DD)とLeadModalによって受信された日付との間の日付の形式にありました。

は、私は1つの不一致パラメータの@ModelAttributeは、フロントエンドを使用してモデルをマップすることができませんでした

private @DateTimeFormat(pattern="yyyy-MM-dd") Date meetingDate; 

ので、このようなYYYY-MM-DDの形式を受け入れるようにLeadModalでの日付形式を宣言しなければなりませんでしたajax post。