sessionScoped
マネージド Bean を別のマネージド Bean から開く際に問題があります。オブジェクトのリストを含むテーブルを持つページがあります。行をクリックすると、別のページに移動してその内容を表示しています。sessionMap
クリックした行をobject または byで送信していますFlash
。オブジェクトが送信され、別のページで読み込まれ、データが表示されます。他のページでは、メソッドでsessionMap
orを受け取っています。Flash
@PostConstruct
戻って別のオブジェクトを開くと、最初のオブジェクトが開きます。問題は、それがsessionScoped
Bean であるため、2 番目に開いたオブジェクトでは@PostConstruct
. sessionScoped
では、新しい値を読み取って別のセッションを開くように強制するための解決策は何ですか? または、リスナーではなくオブジェクトをどのように読み取ることができます@PostConstruct
か?
page1.java
@ManagedBean
@SessionScoped
class pageBean{
MyObject myObj;
public String save(){FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(myObj,"obj");
}
}
@ManagedBean
@SessionScoped
class pageBean{
@PostConstruct
public void init()
MyObject = (MyObject)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("obj");
}