我在一年前的eclipse mars2中制作了一个Web应用程序项目的副本,我在2.0版中工作,并且在我正常刷新浏览器时无法加载css和缓存,导致问题。我必须做Crtl + f5才能使此工作及其烦恼进行硬刷新,尤其是在debugin,dint发生之前。发生这种情况的方式就像在我的登录正文中查找CSS属性一样简单。例如:
height: 100%;
尝试将其更改为
height: 10000000000000000%;
除非我做Crtl + f5,否则它不会显示
我读到某个地方,我不得不告诉我的项目它必须忽略缓存。所以我将这个生命周期添加到faces-config.xml文件中
<lifecycle>
<phase-listener id="nocache">mannhummel.CacheControlPhaseListener</phase-listener>
</lifecycle>
以及带有说明的班级:
package mannhummel;
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 {
private static final long serialVersionUID = 1;
@Override
public PhaseId getPhaseId() {
return PhaseId.RENDER_RESPONSE;
}
@Override
public void afterPhase(PhaseEvent event) {
}
@Override
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");
response.addHeader("Cache-Control", "no-store");
response.addHeader("Cache-Control", "must-revalidate");
response.addHeader("Expires", "Mon, 8 Aug 2006 10:00:00 GMT");
}
}
但是在调试错误时仍然有相同的结果和烦恼
我也尝试尝试使用开发人员工具中的“禁用缓存”选项,但仍然无效。
新闻:仅适用于Chrome和Mozzilla,但在IE中可完美运行...