1

次のプロパティを持つ Employee オブジェクトを定義しました

public class Employee {

    private String id;
    private String name;
    private Address address;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }
}

アドレス オブジェクト:

public class Address {

    private String street;
    private String city;

    public String getStreet() {
        return street;
    }

    public void setStreet(String street) {
        this.street = street;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }
}

プロパティのゲッターとセッターを生成しました。プロパティで次のことを行うと:

String value = BeanUtils.getNestedProperty(employee, "address.street");

address.street に対して「No such Method Exception」が発生します。

java.lang.NoSuchMethodException: クラス 'class com.test.xm.Employee' の不明なプロパティ 'address.street'

フィールド id と name は正常に機能します。

ゲッターとセッターを再確認しましたが、問題ないようです。ここで何が間違っている可能性がありますか?

編集:ゲッターとセッターを更新しました。

4

1 に答える 1

4

PropertyUtilsの代わりに使用してくださいBeanUtils

   (String) PropertyUtilsBean.getInstance().getNestedProperty(employee, "address.street");  

私にとって、あなたの例もうまく機能しています。したがって、あなたの例では、考えられる唯一のエラーは次のとおりです。employeeはのインスタンスではありませんEmployee

また、例外メッセージを投稿してみませんか?それらには、たとえば次のような非常に役立つ情報が含まれています。

 java.lang.NoSuchMethodException: Unknown property 'address' on class 'class com.mycompany.dto.Address'
于 2012-12-17T18:57:43.690 に答える