私は単一のセッションBeanのための基本的なテンプレートを持っているとしようとしています。例を実行するときシングルトンセッションBean
https://docs.oracle.com/javaee/7/tutorial/ejb-basicexamples002.htm
は、しかし、私はcount.hitCountの値を印刷することはできませんよ。そこで、私は「カウンターのアーキテクチャ」に含まれて例を挙げました。
変数にアクセスするときにゲッターがないときによくある問題が見つかりました。例えば、のindex.htmlで:
@Named
@SessionScoped
public class Count implements Serializable {
@EJB
private CounterBean counterBean;
private int hitCount;
public Count() {
this.hitCount = 0;
}
public int getHitCount() {
hitCount = counterBean.getHits();
return hitCount;
}
public void setHitCount(int newHits) {
this.hitCount = newHits;
}
最後に、CounterBean.java増加:
<ui:define name="title">
This page has been accessed #{count.hitCount} time(s).
</ui:define>
しかし、Count.javaにおけるゲッタgetHitCount()を含むされます変数:
@Singleton
public class CounterBean {
private int hits = 1;
// Increment and return the number of hits
public int getHits() {
return hits++;
}
}
ありがとうrのヘルプとコメント、彼らは非常に感謝しています。
? "count.hitCountの値を出力できません。"私たちに有用なことは何も教えてくれません。 –
'Count'は' @ RequestScoped'でなければなりません。 'Count.initialize()'( '@ PostConstruct'でアノテーションされています)の' CounterBen.incHits() 'によってCounterBean.hitsの値を増やしてください。 –