パブリック クラス カスタマー {
プライベート ユーザー ユーザー;
プライベート文字列名;
パブリック ユーザー getUser() {
ユーザーを返します。
}
public void setUser(ユーザー ユーザー) {
this.user = ユーザー;
}
public String getName() {
名前を返す;
}
public void setName(文字列名) {
this.name = 名前;
}
}
パブリック クラス ユーザー {
プライベート文字列名;
public String getName() {
名前を返す;
}
public void setName(文字列名) {
this.name = 名前;
}
}
public static void main(String[] args) {
試す {
顧客 顧客 = 新しい顧客();
オブジェクト ツリー = Ognl.parseExpression("user.name");
Ognl.setValue(ツリー、顧客、「こんにちは」);
} キャッチ (OgnlException e) {
e.printStackTrace();
}
}
ognl.OgnlException: setProperty(null, "name", hello) のターゲットが null です
ognl にユーザー auto を作成させる方法。
3509 次
1 に答える
1
これを試して
public static void main(String[] args) {
try {
Customer customer = new Customer();
User user = new User();
customer.setUser(user);
Object tree = Ognl.parseExpression("user.name");
Ognl.setValue(tree, customer, "hello");
} catch (OgnlException e) {
e.printStackTrace();
}
}
サンプル コードの問題は、インスタンス「customer」に null ユーザーが含まれていることです。したがって、OGNL は基本的に customer.getUser().setName("hello") を呼び出しており、"customer.getUser()" は null を返します。
于 2011-06-05T06:37:08.630 に答える