私はマネージド Bean の 2 つのクラスを持っており、2 番目のクラス@ManagedProperty
にアクセスしようとしていますが、NullPointerException
毎回取得します。ここで何が問題なのですか?
@ManagedBean
@SessionScoped
public class EventCreateEditModel implements Serializable {
@ManagedProperty("#{eventCreateEditCostModel}")
private EventCreateEditCostModel eventCreateEditCostModel;
public void update() {
eventCreateEditCostModel.update();
}
public void setEventCreateEditCostModel(final EventCreateEditCostModel eventCreateEditCostModel) {
this.eventCreateEditCostModel = eventCreateEditCostModel;
}
public EventCreateEditCostModel getEventCreateEditCostModel() {
return eventCreateEditCostModel;
}
}
これが私の2番目のクラスです。
@ManagedBean
@SessionScoped
public class EventCreateEditCostModel implements Serializable {
public void update() {
System.out.println("IT works");
}
}
を使用して最初のクラスに 2 番目のクラスの更新を呼び出させようとしましたが、最初のクラスから更新にアクセスしようとすると、@ManagedProperty
取得できるのは だけです。NullPointerException
のセッターとゲッターがあり@ManagedProperty
ます。
クラス EventCreateEditModel の更新メソッドを指すスタック トレースを次に示します (スタック全体を貼り付けようとしましたが、このシステムではフォーマットされないため、重要な部分を以下に示します)。
`Dec 24, 2015 2:02:57 PM com.sun.faces.lifecycle.InvokeApplicationPhase execute
WARNING: java.lang.NullPointerException
javax.el.ELException: java.lang.NullPointerException
at com.sun.el.parser.AstValue.invoke(AstValue.java:238)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
Caused by: java.lang.NullPointerException
at com.rem40.controller.EventCreateEditModel.update (EventCreateEditModel.java:116)
... 35 more
2015 年 12 月 24 日 2:02:57 PM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError SEVERE: com.rem40.controller.EventCreateEditModel.update (EventCreateEditModel.java:116) での java.lang.NullPointerException (sun.reflect.NativeMethodAccessorImpl で) .invoke0(ネイティブメソッド)`