【问题标题】:IE is ignoring FacesContext.responseComplete()IE 忽略 FacesContext.responseComplete()
【发布时间】:2012-10-31 14:46:33
【问题描述】:

为什么在使用 Response.sendRedirect() 将页面重定向到另一个页面后立即调用 FacesContext.responseComplete() 后 IE (IE8) 仍在尝试呈现当前页面。其他浏览器(Firefox、Chrome、Opera...)只是跳转到另一个页面而不尝试呈现当前页面。我正在使用 JSF 1.2 和 Richfaces 3.3 final。下面列出了 JSF 生命周期,用于触发命令按钮。请注意 IE 上的验证阶段。验证是根本原因吗?

其他浏览器

RESTORE_VIEW 1 之前

RESTORE_VIEW 1 之后

在 APPLY_REQUEST_VALUES 2 之前

APPLY_REQUEST_VALUES 2 之后

在 PROCESS_VALIDATIONS 3 之前

在 PROCESS_VALIDATIONS 3 之后

在 UPDATE_MODEL_VALUES 4 之前

UPDATE_MODEL_VALUES 4 之后

在 INVOKE_APPLICATION 5 之前

在 INVOKE_APPLICATION 5 之后

在 RENDER_RESPONSE 6 之前

RENDER_RESPONSE 6 之后

RESTORE_VIEW 1 之前

RESTORE_VIEW 1 之后

在 RENDER_RESPONSE 6 之前

RENDER_RESPONSE 6 之后

IE

RESTORE_VIEW 1 之前

RESTORE_VIEW 1 之后

在 APPLY_REQUEST_VALUES 2 之前

APPLY_REQUEST_VALUES 2 之后

在 PROCESS_VALIDATIONS 3 之前

在 PROCESS_VALIDATIONS 3 之后

在 UPDATE_MODEL_VALUES 4 之前

UPDATE_MODEL_VALUES 4 之后

在 INVOKE_APPLICATION 5 之前

在 INVOKE_APPLICATION 5 之后

在 RENDER_RESPONSE 6 之前

RENDER_RESPONSE 6 之后

RESTORE_VIEW 1 之前

RESTORE_VIEW 1 之后

在 APPLY_REQUEST_VALUES 2 之前

APPLY_REQUEST_VALUES 2 之后

在 PROCESS_VALIDATIONS 3 之前

...错误(与问题无关)

在 PROCESS_VALIDATIONS 3 之后

RESTORE_VIEW 1 之前

RESTORE_VIEW 1 之后

在 RENDER_RESPONSE 6 之前

RENDER_RESPONSE 6 之后

【问题讨论】:

  • 浏览器特定的问题通常是由客户端代码引起的(因此不是由 JSF 等服务器端代码引起的)。例如,您是否有一些 JavaScript 代码可以提交表单 onload?也许有一些不可预见的特定于浏览器的 JS 条件导致它在 IE 中被触发。
  • 我没有实现任何验证规则
  • 我有没有告诉任何关于验证的事情?请重新阅读评论并直接回答,而不是返回完全不相关的评论。
  • 感谢 BalusC 的快速回复。我确实加载了一个javascript来重置每个页面的超时。我会调查的。
  • 对不起,验证评论是在我看到你的答案之前。

标签: jsf


【解决方案1】:

这个问题与 JSF 无关。特定于浏览器的问题通常是由 HTML/CSS/JS 等客户端代码引起的,而不是由 JSF 等服务器端代码引起的。此特定问题可识别为 JavaScript 问题。您需要检查是否没有任何 JavaScript 代码在 onload / DOM-ready 期间执行某些任务,例如自动提交表单。阶段侦听器跟踪即表明执行了 POST 请求(阶段#2 到 #5 通常仅在回发期间出现)。

很可能有一些不可预见的特定于浏览器的 JS 条件导致在 MSIE 中触发 POST 请求。

【讨论】:

    猜你喜欢
    • 2011-04-11
    • 2014-10-16
    • 2011-10-20
    • 2014-02-10
    • 2014-03-29
    • 2013-02-04
    • 2013-11-18
    • 2012-09-14
    • 2014-09-25
    相关资源
    最近更新 更多