【发布时间】:2011-12-11 22:34:09
【问题描述】:
我有一个关于面孔导航的问题。
所以我有一个页面,它采用请求参数来加载特定用户。此页面显示一个 commandLink 列表,单击该列表时,会使用隐式导航重定向到另一个页面。通过调用“preRenderView”中的方法加载用户。
我们重定向到的页面也需要一个请求参数来确定要加载哪个案例。该页面也使用了 preRenderView。
两个页面都有视图范围的 bean。
对于按下的第一个链接,这一切都很棒。第一个页面重定向到新 URL,并且案例按预期加载。
但是,如果我单击浏览器的后退按钮,然后单击另一个链接,则页面不会重定向。它会刷新(而不是),并且显然不会购买这种情况。
刷新后,我可以点击一个链接,它会正确重定向。
现在,当第一页的 bean 保存在会话中时,所有这些都可以正常工作,但我不想滥用会话状态,我认为我不应该要求我将这些数据保存在会话。
我知道我可以通过在单击后退按钮时自动重新加载页面来解决此问题(因为将重新创建视图),但我也不确定这是否是正确的解决方案。 (我也不知道我会如何强迫它)
有人有什么建议吗?这似乎是一个相当常见的用例,但我真的找不到任何示例。
谢谢!
【问题讨论】: