如何在JSF中导航?如何使URL反映当前页面(而不是前一页)
我目前正在学习JSF,当我意识到每当我们使用<h:form>
,JSF的标准行为是始终向我显示前人页,而不是浏览器的URL。电流一页。
我知道这与JSF总是将表单发布到同一个页面的方式有关,然后只将控制器提供给浏览器的任何页面呈现给浏览器,浏览器不知道页面位置发生了变化。
似乎JSF已经存在了足够长的时间,因此必须有一个干净、可靠的方法来处理这个问题。如果是的话,你介意分享吗?
我已经找到了各种各样的解决办法,但遗憾的是,没有什么看起来像真正的固着的解决方案。
- 只需接受URL具有误导性。
- 附加
"?faces-redirect=true"
的返回值每一,每个
贝恩的行动 - 想办法替换
@RequestScoped
还有别的东西(FlashScopes,CDI会话,@SessionScoped,.)。 - 接受为每个用户操作设置两个HTTP往返行程。
- 使用一些方法(例如第三方库或自定义代码)将页面名隐藏在URL中,始终对每个页面使用相同的通用URL。
如果"?faces-redirect=true"
是否有办法配置整个应用程序来以这种方式处理所有请求?