页面中的F5或Refresh调用是回发?

时间:2011-04-06 17:47:12

标签: richfaces

我想知道什么是RichFaces的F5事件?

我找到了其他有趣的文章:

How to know if I am in a postback?

1 个答案:

答案 0 :(得分:4)

取决于。

通常,获取页面是GET请求,而F5只执行另一个GET。 您无法检测到“F5”,而应检测请求是“GET”还是“POST”。

如果您填写表单,然后单击“提交”,然后再执行F5,您通常会收到浏览器的警告,因为它会进行另一次POST。

例如,Firefox会说:“要显示此页面,Firefox必须发送重复之前执行的任何操作(例如搜索或订单确认)的信息。[重新发送] [取消]”

因此,F5可能是GET或POST,你需要能够处理它们。

阻止用户从浏览器收到此消息的一种方法是使用Post/Redirect/Get习语。

使用某些Web框架时可能会造成混淆,因为看起来不像表单提交按钮(导致POST)的东西实际上是。例如,在ASP.NET中,单击链接可能会进行回发,而通常情况并非如此。