【发布时间】:2010-10-13 14:02:41
【问题描述】:
如何将后退按钮实现为通用的命令按钮?后退按钮不是指浏览器按钮,而是位于页面某处的按钮。并不总是可以使用 Post-redirect-get 模式。
在每个按钮应该指向的地方传递信息是非常不切实际的。
是否存在指向最后应用的导航规则的导航规则的保留关键字?
【问题讨论】:
标签: java jsf navigation back-button
如何将后退按钮实现为通用的命令按钮?后退按钮不是指浏览器按钮,而是位于页面某处的按钮。并不总是可以使用 Post-redirect-get 模式。
在每个按钮应该指向的地方传递信息是非常不切实际的。
是否存在指向最后应用的导航规则的导航规则的保留关键字?
【问题讨论】:
标签: java jsf navigation back-button
在这种情况下,我使用带有属性onclick="history.go(-1)" 的h:commandLink。它普遍适用。
【讨论】:
onclick="history.go(-1);return false;"来阻止提交原始页面。
我的第一个想法:
每一个
<h:commandLink .....>
等等;将导航字符串存储在 bean 甚至堆栈中,然后后退按钮可以检索它并根据 faces-config.xml 将其返回
第二个想法。
但在反射时,您应该覆盖或使用过滤器来拦截导航命令并将它们推送到堆栈上。然后后退按钮可以弹出导航,然后离开。
【讨论】:
你可以使用:
<p:commandButton onclick="window.history.back();"/>
该指令与 alexmeia 所说的 onclick="history.go(-1)" 相同。
【讨论】:
p:button 或添加 'type="button" 到它。请参阅 PrimeFaces 文档!
我会将导航字符串存储在堆栈数据类型中,然后您使用 stack.peek() 来显示您身后的站点,并在单击它时触发触发 stack.pop() 的操作事件
【讨论】:
我在我的标签视图中使用了“上一个”按钮,并且仅使用导航就可以顺利进行
<p:commandButton value="Previous" id="PreviousOffer" onclick="window.history.go(-1);return false;"/>
P.S.- 当我没有使用 return false; 并单击上一个按钮时,它只停留在当前页面上。但是,在添加 return false 后,它开始工作了。
【讨论】:
type="button",这样就不需要返回false了