@Stateful
public class PersonManager implements PersonManagerLocal {
@EJB
private PersonLocal person;
@Override
public void setPersonName(String name) {
person.setName(name);
}
@Override
public String getPersonName() {
return person.getName();
}
}
私は、JSFのWebアプリでPersonManager EJBを使用します。私はfaces-config.xmlに定義しています。
<managed-bean>
<managed-bean-name>personManager</managed-bean-name>
<managed-bean-class>ejb.PersonManager</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
問題は、PersonLocal EJBの注入が起こらないということです。 personプロパティは常にNULLです。何が間違っていたのですか?
しかし、私はこのようにJSF管理対象BeanにPersonManagerを注入した場合:
ITワークス@ManagedBean
@RequestScoped
public class Index {
@EJB
private PersonManagerLocal personManager;
....
。最初のシナリオが必要です.-D
?注釈が発明されなかったときに過去に戻ろうとするようなものです:P –
あなたは正しいです:-それは理論上のものです。答えを知りたいのですが。 – Forty
@Fortyそれではなぜ機能しないのですか?その答えは私には分かりません。 –