【问题标题】:JSF Ajax returns empty 304 response - causing page to crashJSF Ajax 返回空的 304 响应 - 导致页面崩溃
【发布时间】:2016-07-10 16:18:41
【问题描述】:

我在浏览器中有此错误消息并且页面停止响应:

core.js.xhtml?ln=primefaces&v=6.0:3 Uncaught TypeError: Cannot read property 'getElementsByTagName' of undefined

似乎这个 Tomcat 或 JSF 正在缓存 POST 请求!

我尝试move css on the bottom on the page - 它没有帮助。

【问题讨论】:

  • 哪个代码抛出了这个问题?看起来像一些使用 HTML5 功能的 Primefaces 组件。

标签: ajax jsf primefaces


【解决方案1】:

我所做的是放置特殊的阶段监听器来强制浏览器使缓存无效:

faces-config.xml

<lifecycle>
    <phase-listener id="nocache">com.xxxx.jsf.util.CacheControlPhaseListener</phase-listener>
    <phase-listener>org.primefaces.component.lifecycle.LifecyclePhaseListener</phase-listener>
    <phase-listener>com.xxxx.jsf.listeners.BackButtonPhaseListener</phase-listener>
</lifecycle>

类:

import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
import javax.servlet.http.HttpServletResponse;

public class CacheControlPhaseListener implements PhaseListener {
    public PhaseId getPhaseId() {
        return PhaseId.RENDER_RESPONSE;
    }

    public void afterPhase(PhaseEvent event) {
    }

        public void beforePhase(PhaseEvent event) {
            FacesContext facesContext = event.getFacesContext();
            HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
            response.addHeader("Pragma", "no-cache");
            response.addHeader("Cache-Control", "no-cache");
            // Stronger according to blog comment below that references HTTP spec
            response.addHeader("Cache-Control", "no-store");
            response.addHeader("Cache-Control", "must-revalidate");
            // some date in the past
            response.addHeader("Expires", "Mon, 8 Aug 2006 10:00:00 GMT");
        }
    }

【讨论】:

    猜你喜欢
    • 2015-03-30
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 2017-12-09
    • 2021-10-09
    • 2015-07-01
    相关资源
    最近更新 更多