Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未解析Spring窗体嵌套对象布尔字段_Java_Spring_Spring Mvc_Spring Boot_Spring Form - Fatal编程技术网

Java 未解析Spring窗体嵌套对象布尔字段

Java 未解析Spring窗体嵌套对象布尔字段,java,spring,spring-mvc,spring-boot,spring-form,Java,Spring,Spring Mvc,Spring Boot,Spring Form,我有一个Employee类,它的PersonalDetails类对象作为成员 public class Employee { private long empId; private PersonalDetails personalDetails = new PersonalDetails(); // getters setters PersonalDetails课程如下 /** * Class represents personal details of an employee *

我有一个Employee类,它的PersonalDetails类对象作为成员

public class Employee {

private long empId;

private PersonalDetails personalDetails = new PersonalDetails();
// getters setters
PersonalDetails
课程如下

/**
 * Class represents personal details of an employee
 *
 * <BR>
 * <BR>
 * <B>Supported API: </B>false <BR>
 * <BR>
 * <B>Extendable: </B>false
 */
public class PersonalDetails {

private String empfirstName, empMiddleName, empLastName, gender, birthPlace, marritalStatus,
        longMedicalTreatmentDescription, suffix, ethnicity, veteranStatus, prefFirstName, preLastName, birthCountry,
        citizenship, citizenshipCountry1, citizenshipCountry2, visaType, email;

private Address permanentAddress, presentAddress;

private OtherContactDetails emergencyContactDetails;

private Date dob, visaExp;

private int age, noOfChildrens, healthVision;

private Boolean hasPhysicalDisability, hadLongMedicalTreatment, hasFourWheelLiscence, isPresentAddressSame;

private Passport passportDetails;

private FatherOrHusband fatherOrHusbandDetails;

/**
 * @return the empfirstName
 */
public String getEmpfirstName() {
    return empfirstName;
}

/**
 * @param empfirstName
 *            the empfirstName to set
 */
public void setEmpfirstName(String empfirstName) {
    this.empfirstName = empfirstName;
}

/**
 * @return the empMiddleName
 */
public String getEmpMiddleName() {
    return empMiddleName;
}

/**
 * @param empMiddleName
 *            the empMiddleName to set
 */
public void setEmpMiddleName(String empMiddleName) {
    this.empMiddleName = empMiddleName;
}

/**
 * @return the empLastName
 */
public String getEmpLastName() {
    return empLastName;
}

/**
 * @param empLastName
 *            the empLastName to set
 */
public void setEmpLastName(String empLastName) {
    this.empLastName = empLastName;
}

/**
 * @return the gender
 */
public String getGender() {
    return gender;
}

/**
 * @param gender
 *            the gender to set
 */
public void setGender(String gender) {
    this.gender = gender;
}

/**
 * @return the birthPlace
 */
public String getBirthPlace() {
    return birthPlace;
}

/**
 * @param birthPlace
 *            the birthPlace to set
 */
public void setBirthPlace(String birthPlace) {
    this.birthPlace = birthPlace;
}

/**
 * @return the marritalStatus
 */
public String getMarritalStatus() {
    return marritalStatus;
}

/**
 * @param marritalStatus
 *            the marritalStatus to set
 */
public void setMarritalStatus(String marritalStatus) {
    this.marritalStatus = marritalStatus;
}

/**
 * @return the longMedicalTreatmentDescription
 */
public String getLongMedicalTreatmentDescription() {
    return longMedicalTreatmentDescription;
}

/**
 * @param longMedicalTreatmentDescription
 *            the longMedicalTreatmentDescription to set
 */
public void setLongMedicalTreatmentDescription(String longMedicalTreatmentDescription) {
    this.longMedicalTreatmentDescription = longMedicalTreatmentDescription;
}

/**
 * @return the permanentAddress
 */
public Address getPermanentAddress() {
    return permanentAddress;
}

/**
 * @param permanentAddress
 *            the permanentAddress to set
 */
public void setPermanentAddress(Address permanentAddress) {
    this.permanentAddress = permanentAddress;
}

/**
 * @return the presentAddress
 */
public Address getPresentAddress() {
    return presentAddress;
}

/**
 * @param presentAddress
 *            the presentAddress to set
 */
public void setPresentAddress(Address presentAddress) {
    this.presentAddress = presentAddress;
}

/**
 * @return the dob
 */
public Date getDob() {
    return dob;
}

/**
 * @param dob
 *            the dob to set
 */
public void setDob(Date dob) {
    this.dob = dob;
}

/**
 * @return the age
 */
public int getAge() {
    return age;
}

/**
 * @param age
 *            the age to set
 */
public void setAge(int age) {
    this.age = age;
}

/**
 * @return the noOfChildrens
 */
public int getNoOfChildrens() {
    return noOfChildrens;
}

/**
 * @param noOfChildrens
 *            the noOfChildrens to set
 */
public void setNoOfChildrens(int noOfChildrens) {
    this.noOfChildrens = noOfChildrens;
}

/**
 * @return the healthVision
 */
public int getHealthVision() {
    return healthVision;
}

/**
 * @param healthVision
 *            the healthVision to set
 */
public void setHealthVision(int healthVision) {
    this.healthVision = healthVision;
}

/**
 * @return the passportDetails
 */
public Passport getPassportDetails() {
    return passportDetails;
}

/**
 * @param passportDetails
 *            the passportDetails to set
 */
public void setPassportDetails(Passport passportDetails) {
    this.passportDetails = passportDetails;
}

/**
 * @return the suffix
 */
public String getSuffix() {
    return suffix;
}

/**
 * @param suffix
 *            the suffix to set
 */
public void setSuffix(String suffix) {
    this.suffix = suffix;
}

/**
 * @return the fatherOrHusbandDetails
 */
public FatherOrHusband getFatherOrHusbandDetails() {
    return fatherOrHusbandDetails;
}

/**
 * @param fatherOrHusbandDetails
 *            the fatherOrHusbandDetails to set
 */
public void setFatherOrHusbandDetails(FatherOrHusband fatherOrHusbandDetails) {
    this.fatherOrHusbandDetails = fatherOrHusbandDetails;
}

/**
 * @return the hasPhysicalDisability
 */
public Boolean isHasPhysicalDisability() {
    return hasPhysicalDisability;
}

/**
 * @param hasPhysicalDisability
 *            the hasPhysicalDisability to set
 */
public void setHasPhysicalDisability(Boolean hasPhysicalDisability) {
    this.hasPhysicalDisability = hasPhysicalDisability;
}

/**
 * @return the hadLongMedicalTreatment
 */
public Boolean isHadLongMedicalTreatment() {
    return hadLongMedicalTreatment;
}

/**
 * @param hadLongMedicalTreatment
 *            the hadLongMedicalTreatment to set
 */
public void setHadLongMedicalTreatment(Boolean hadLongMedicalTreatment) {
    this.hadLongMedicalTreatment = hadLongMedicalTreatment;
}

/**
 * @return the hasFourWheelLiscence
 */
public Boolean isHasFourWheelLiscence() {
    return hasFourWheelLiscence;
}

/**
 * @param hasFourWheelLiscence
 *            the hasFourWheelLiscence to set
 */
public void setHasFourWheelLiscence(Boolean hasFourWheelLiscence) {
    this.hasFourWheelLiscence = hasFourWheelLiscence;
}

/**
 * @return the isPresentAddressSame
 */
public Boolean isPresentAddressSame() {
    return isPresentAddressSame;
}

/**
 * @param isPresentAddressSame
 *            the isPresentAddressSame to set
 */
public void setPresentAddressSame(Boolean isPresentAddressSame) {
    if (isPresentAddressSame) {
        presentAddress = permanentAddress;
    }
    this.isPresentAddressSame = isPresentAddressSame;
}

/**
 * @return the ethnicity
 */
public String getEthnicity() {
    return ethnicity;
}

/**
 * @param ethnicity
 *            the ethnicity to set
 */
public void setEthnicity(String ethnicity) {
    this.ethnicity = ethnicity;
}

/**
 * @return the veteranStatus
 */
public String getVeteranStatus() {
    return veteranStatus;
}

/**
 * @param veteranStatus
 *            the veteranStatus to set
 */
public void setVeteranStatus(String veteranStatus) {
    this.veteranStatus = veteranStatus;
}

/**
 * @return the prefFirstName
 */
public String getPrefFirstName() {
    return prefFirstName;
}

/**
 * @param prefFirstName
 *            the prefFirstName to set
 */
public void setPrefFirstName(String prefFirstName) {
    this.prefFirstName = prefFirstName;
}

/**
 * @return the preLastName
 */
public String getPreLastName() {
    return preLastName;
}

/**
 * @param preLastName
 *            the preLastName to set
 */
public void setPreLastName(String preLastName) {
    this.preLastName = preLastName;
}

/**
 * @return the birthCountry
 */
public String getBirthCountry() {
    return birthCountry;
}

/**
 * @param birthCountry
 *            the birthCountry to set
 */
public void setBirthCountry(String birthCountry) {
    this.birthCountry = birthCountry;
}

/**
 * @return the citizenship
 */
public String getCitizenship() {
    return citizenship;
}

/**
 * @param citizenship
 *            the citizenship to set
 */
public void setCitizenship(String citizenship) {
    this.citizenship = citizenship;
}

/**
 * @return the citizenshipCountry1
 */
public String getCitizenshipCountry1() {
    return citizenshipCountry1;
}

/**
 * @param citizenshipCountry1
 *            the citizenshipCountry1 to set
 */
public void setCitizenshipCountry1(String citizenshipCountry1) {
    this.citizenshipCountry1 = citizenshipCountry1;
}

/**
 * @return the citizenshipCountry2
 */
public String getCitizenshipCountry2() {
    return citizenshipCountry2;
}

/**
 * @param citizenshipCountry2
 *            the citizenshipCountry2 to set
 */
public void setCitizenshipCountry2(String citizenshipCountry2) {
    this.citizenshipCountry2 = citizenshipCountry2;
}

/**
 * @return the visaType
 */
public String getVisaType() {
    return visaType;
}

/**
 * @param visaType
 *            the visaType to set
 */
public void setVisaType(String visaType) {
    this.visaType = visaType;
}

/**
 * @return the emergencyContactDetails
 */
public OtherContactDetails getEmergencyContactDetails() {
    return emergencyContactDetails;
}

/**
 * @param emergencyContactDetails
 *            the emergencyContactDetails to set
 */
public void setEmergencyContactDetails(OtherContactDetails emergencyContactDetails) {
    this.emergencyContactDetails = emergencyContactDetails;
}

/**
 * @return the visaExp
 */
public Date getVisaExp() {
    return visaExp;
}

/**
 * @param visaExp
 *            the visaExp to set
 */
public void setVisaExp(Date visaExp) {
    this.visaExp = visaExp;
}

/**
 * @return the email
 */
public String getEmail() {
    return email;
}

/**
 * @param email
 *            the email to set
 */
public void setEmail(String email) {
    this.email = email;
}

/*
 * (non-Javadoc)
 *
 * @see java.lang.Object#toString()
 */
@Override
public String toString() {
    return "PersonalDetails [empfirstName=" + empfirstName + ", empMiddleName=" + empMiddleName + ", empLastName="
            + empLastName + ", gender=" + gender + ", birthPlace=" + birthPlace + ", marritalStatus="
            + marritalStatus + ", longMedicalTreatmentDescription=" + longMedicalTreatmentDescription + ", suffix="
            + suffix + ", ethnicity=" + ethnicity + ", veteranStatus=" + veteranStatus + ", prefFirstName="
            + prefFirstName + ", preLastName=" + preLastName + ", birthCountry=" + birthCountry + ", citizenship="
            + citizenship + ", citizenshipCountry1=" + citizenshipCountry1 + ", citizenshipCountry2="
            + citizenshipCountry2 + ", visaType=" + visaType + ", email=" + email + ", permanentAddress="
            + permanentAddress + ", presentAddress=" + presentAddress + ", emergencyContactDetails="
            + emergencyContactDetails + ", dob=" + dob + ", visaExp=" + visaExp + ", age=" + age
            + ", noOfChildrens=" + noOfChildrens + ", healthVision=" + healthVision + ", hasPhysicalDisability="
            + hasPhysicalDisability + ", hadLongMedicalTreatment=" + hadLongMedicalTreatment
            + ", hasFourWheelLiscence=" + hasFourWheelLiscence + ", isPresentAddressSame=" + isPresentAddressSame
            + ", passportDetails=" + passportDetails + ", fatherOrHusbandDetails=" + fatherOrHusbandDetails + "]";
}

其他字符串类型的字段与路径匹配,如
personalDetails.firstName
,但不是这个布尔字段
您没有包含
personalDetails
类的getter/setter,但是Spring说这就是错误所在

确保你有这些:

boolean isPresentAddressSame() { ... }

您的错误可能是:

  • 您在参数或返回类型中使用了
    布尔值(注意大写字母
    B

  • 您使用了
    getPresentAddressName
    ,它只允许
    Boolean
    (再次注意大写
    B
    )使用,而不是
    isPresentAddressSame
    (小
    B

  • 澄清

    更改:

    public Boolean isPresentAddressSame() {
        return isPresentAddressSame;
    }
    
    public void setPresentAddressSame(Boolean isPresentAddressSame) {
        if (isPresentAddressSame) {
            presentAddress = permanentAddress;
        }
        this.isPresentAddressSame = isPresentAddressSame;
    }
    
    致:


    再次注意,此处的
    布尔值
    使用一个小
    b
    尝试更改方法的签名:

    public Boolean isPresentAddressSame() {
    return isPresentAddressSame;
    
    }

    }


    如果您正在使用spring,spring Alwai正在寻找get word来解析bean属性。

    如果您没有显示
    PersonalDetails
    的代码,这里没有人可以帮助您。完成。我想如果我包含类代码,会很混乱。你忽略了getter/setter。我们需要看到这些。我的getter和setter将
    布尔值作为返回类型和ad参数。我还尝试将它们更改为
    布尔值
    ,但没有成功。那么,显示代码,以便我们可以检查它。Spring不会无缘无故地给你这个错误。请看一看我更新了个人详细信息类。你没有正确阅读我的答案。我将添加一个更新,告诉您需要更改的内容。
    void setPresentAddressSame(boolean value) { ... }
    
    public Boolean isPresentAddressSame() {
        return isPresentAddressSame;
    }
    
    public void setPresentAddressSame(Boolean isPresentAddressSame) {
        if (isPresentAddressSame) {
            presentAddress = permanentAddress;
        }
        this.isPresentAddressSame = isPresentAddressSame;
    }
    
    public boolean isPresentAddressSame() {
        return isPresentAddressSame;
    }
    
    public void setPresentAddressSame(boolean isPresentAddressSame) {
        if (isPresentAddressSame) {
            presentAddress = permanentAddress;
        }
        this.isPresentAddressSame = isPresentAddressSame;
    }
    
    public Boolean isPresentAddressSame() {
    return isPresentAddressSame;
    
    public Boolean getPresentAddressSame() {
    return isPresentAddressSame;