0

While trying to make a request and pass data from Ajax to Spring Controller, null data mapped to ModelAttribute.

Ajax Call:

var i = 0;

var pFirstName=$("#pFirstName").val();
var pLastName=$("#pLastName").val();
var pAge=$("#pAge").val();
var pEmail=$("#pEmail").val();
var pContactNo=$("#pContactNo").val();

var serviceType=[];
var clinicName=[];
var providerCity=[];
var insuranceType=[];
var procedureDate=[];
var providerFName=[];
var pPrice=[];
var totalPrice=[];
for (i=1; i<=addFeedbackMore; i++) {
    if (!isEmptyOrBlank($("#serviceType"+i).val())) {
        serviceType[i-1]=($("#serviceType"+i).val());
    }           
    if (!isEmptyOrBlank($("#clinicName"+i).val())) {
        clinicName[i-1]=($("#clinicName"+i).val());
    }           
    if (!isEmptyOrBlank($("#providerCity"+i).val())) {
        providerCity[i-1]=($("#providerCity"+i).val());
    }           
    if (!isEmptyOrBlank($("#insuranceType"+i).val())) {
        insuranceType[i-1]=($("#insuranceType"+i).val());
    }           
    if (!isEmptyOrBlank($("#procedureDate"+i).val())) {
        procedureDate[i-1]=($("#procedureDate"+i).val());
    }           
    if (!isEmptyOrBlank($("#providerFName"+i).val())) {
        providerFName[i-1]=($("#providerFName"+i).val());
    }           
    if (!isEmptyOrBlank($("#pPrice"+i).val())) {
        pPrice[i-1]=($("#pPrice"+i).val());
    }           
    if (!isEmptyOrBlank($("#totalPrice"+i).val())) {
        totalPrice[i-1]=($("#totalPrice"+i).val()); 
    }           
}

$.ajax({
    type : "POST",
    url : "/feedback/feedbackDeatils",
    data : JSON.stringify({
           "pFirstName":pFirstName,
           "pLastName":pLastName,
           "pAge":pAge,
           "pEmail":pEmail,
           "pContactNo":pContactNo,
           "serviceType": serviceType,
           "clinicName": clinicName,
           "providerCity": providerCity,
           "insuranceType": insuranceType,
           "procedureDate": procedureDate,
           "providerFName": providerFName,
           "pPrice": pPrice,
           "totalPrice": totalPrice  
    }),
    contentType: 'application/json',
    success : function(response) {
       // do something ...
        restricted = false;
        restrictedFlag = 1;
        $('#gridSystemModal').modal('hide');
    },
    error : function(e) {
       alert('Error: ' + e);
    }
});

Spring Controller:

@RequestMapping(value="/feedbackDeatils", method = {RequestMethod.GET,   RequestMethod.POST})
public @ResponseBody List<Provider> getProviderList(@ModelAttribute     FeedbackDetails feedbackData) throws ParseException {

    feedbackService.insertFeedbackDetails(feedbackData);

    return null;
}

Bean Class: public class FeedbackDetails {

private String pFirstName;
private String pLastName;
private String pAge;
private String pEmail;
private String pContactNo;
private List<String> serviceType;
private List<String> clinicName;
private List<String> providerCity;
private List<String> insuranceType;
private List<String> procedureDate;
private List<String> providerFName;
private List<String> pPrice;
private List<String> totalPrice;

public String getPFirstName() {
    return pFirstName;
}
public void setPFirstName(String pFirstName) {
    this.pFirstName = pFirstName;
}
public String getPLastName() {
    return pLastName;
}
public void setPLastName(String pLastName) {
    this.pLastName = pLastName;
}
public String getPAge() {
    return pAge;
}
public void setPAge(String pAge) {
    this.pAge = pAge;
}
public String getPEmail() {
    return pEmail;
}
public void setPEmail(String pEmail) {
    this.pEmail = pEmail;
}
public String getPContactNo() {
    return pContactNo;
}
public void setPContactNo(String pContactNo) {
    this.pContactNo = pContactNo;
}
public List<String> getServiceType() {
    return serviceType;
}
public void setServiceType(List<String> serviceType) {
    this.serviceType = serviceType;
}
public List<String> getClinicName() {
    return clinicName;
}
public void setClinicName(List<String> clinicName) {
    this.clinicName = clinicName;
}
public List<String> getProviderCity() {
    return providerCity;
}
public void setProviderCity(List<String> providerCity) {
    this.providerCity = providerCity;
}
public List<String> getInsuranceType() {
    return insuranceType;
}
public void setInsuranceType(List<String> insuranceType) {
    this.insuranceType = insuranceType;
}
public List<String> getProcedureDate() {
    return procedureDate;
}
public void setProcedureDate(List<String> procedureDate) {
    this.procedureDate = procedureDate;
}
public List<String> getProviderFName() {
    return providerFName;
}
public void setProviderFName(List<String> providerFName) {
    this.providerFName = providerFName;
}
public List<String> getPPrice() {
    return pPrice;
}
public void setPPrice(List<String> pPrice) {
    this.pPrice = pPrice;
}
public List<String> getTotalPrice() {
    return totalPrice;
}
public void setTotalPrice(List<String> totalPrice) {
    this.totalPrice = totalPrice;
}
}

And while trying to get data, getting NullPointerException.

2

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.