11

如何将后退按钮实现为通用的命令按钮?后退按钮不是指浏览器按钮,而是位于页面某处的按钮。并不总是可以使用 Post-redirect-get 模式。

在按钮应该指向的每个地方传递信息是非常不切实际的。

是否存在指向最后应用的导航规则的导航规则的保留关键字?

4

5 回答 5

17

在这种情况下,我使用h:commandLinkwith 属性。onclick="history.go(-1)"它普遍适用。

于 2009-03-16T12:05:53.667 回答
3

我的第一个想法:

在每一个

<h:commandLink .....>

等等; 将导航字符串存储在 bean 甚至堆栈中,然后后退按钮可以检索它并根据 faces-config.xml 将其返回

第二个想法。

但是经过反思,您应该覆盖或使用过滤器来拦截导航命令并将它们推送到堆栈上。然后后退按钮可以弹出导航并离开你。

于 2009-03-16T10:35:53.493 回答
3

您可以使用:

<p:commandButton onclick="window.history.back();"/>

该指令与onclick="history.go(-1)"alexmeia 所说的相同。

于 2016-08-16T12:02:39.100 回答
1

我会将导航字符串存储在堆栈数据类型中,然后您使用 stack.peek() 来显示您身后的站点,并在单击它时触发触发 stack.pop() 的操作事件

于 2009-03-16T17:52:36.423 回答
-1

我在我的标签视图中使用了“上一个”按钮,并且导航工作顺利,只需使用

 <p:commandButton value="Previous" id="PreviousOffer" onclick="window.history.go(-1);return false;"/>

PS-当我没有使用return false;并单击上一个按钮时,它仅停留在当前页面上。但是,添加后return false它开始工作。

于 2020-04-30T16:23:27.207 回答