希望有人可以向我解释一些行为。我有一个带有数据表和复选框的JSF页面。我有一个Primefaces命令按钮,它可以执行一些操作,然后通过ajax重新渲染表格。这一切都按预期工作,但我有一个问题。当我单击后退按钮然后单击前进按钮时,数据表页面将重新显示在它的pre-ajax状态。从firebug我可以看到在页面上发送新的Post请求。我需要前进才能显示ajax后的页面。如果你看一下Primefaces展示 - http://www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf这可以按照我的意愿运作。在复选框表中,如果单击几个复选框,然后单击视图,则会弹出一个对话框。现在点击后退和前进,页面就像你离开时一样。在页面上发送没有额外的发布/获取请求。
关于Primefaces如何实现这一目标的任何想法?
答案 0 :(得分:1)
PrimeFaces并没有这样做。这是您的浏览器所做的事情。您的浏览器在GET请求上显然具有相对激进的缓存设置。尝试使用其他浏览器(如Chrome),您将看到无法重现这些浏览器。
这是你无法控制的。您最多可以通过GET导航替换webapp上的POST导航。