私のアプリケーションには、次の Bean があります。
@Named(value = "mrBean")
@SessionScoped
public class MrBean implements Serializable {
@EJB
private MrsBean mrsBean;
private Item item;
public void updateItem() {
this.item = mrsBean.updateItem(item.getId());
}
}
@Named(value = "itemBean")
@RequestScoped
public class itemBean {
@Inject
private MrBean mrBean;
@PostConstruct
public void init() {
if (FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("update") != null) mrBean.updateItem();
}
}
ページにアイテムの情報を表示する前に、表示する前にアイテムを更新するためにパラメーターが送信されてViewItem.xhtml
いるかどうかを確認します。update
パラメーターを使用してページをテストすると、update=true
更新された新しいデータではなく古いデータがレンダリングされた理由がわかりません。実際、新しいデータがレンダリングされる前に、ページを更新する必要があります。
@PostConstruct
上記の結果から、ビューがレンダリングされた後にメソッドが呼び出されたのではないかと思います。
アドバイスをいただければ大変助かります。
よろしくお願いします、