取决于您是发送重定向还是仅导航。
如果要发送重定向,则将其放入Flash作用域中:
Faces.setFlashAttribute("car", car);
@PostConstruct
在下一个bean的中可用:
Car car = Faces.getFlashAttribute("car");
或者,如果您只是在导航,则将其放在请求范围内:
Faces.setRequestAttribute("car", car);
@PostConstruct
在下一个bean的中可用:
Car car = Faces.getRequestAttribute("car");
请注意,我假设您非常了解这样的设计选择:拥有两个完全独立的视图,而没有另一个视图就无法存在(等幂),而不是例如使用具有条件渲染内容的单个视图。而且您已经知道,在实际上被幂等请求时(即通过书签,共享链接,搜索机器人等),该视图应如何表现。如果没有,那么我强烈建议您仔细阅读以下问题的答案:如何在JSF中导航?如何使URL反映当前页面(而不是上一页)。
更新:如果您不使用OmniFaces,请分别使用以下各项:
FacesContext.getCurrentInstance().getExternalContext().getFlash().put("car", car);
Car car = (Car) FacesContext.getCurrentInstance().getExternalContext().getFlash().get("car");
FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("car", car);
Car car = (Car) FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("car");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句