在我的应用程序中,我有以下 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
在视图渲染后调用了该方法。
如果您能给我一个建议,我将不胜感激。
最好的祝福,