JSF Web应用程序无法在IE9中运行。但它在IE8中运行良好

时间:2012-04-27 09:36:58

标签: jsf-2 browser internet-explorer-9

我使用JSF 2.0开发了Web应用程序。它在IE 8和其他浏览器(firefox和谷歌浏览器)中运行良好。但它在IE9中无效。你能解释一下JSF的IE9兼容性以及它是如何完成的,以便我可以让我的应用程序在IE9中运行。

2 个答案:

答案 0 :(得分:1)

我们在使用IE9时遇到了一些问题,我们的解决方法是使用过滤器告诉IE9在兼容模式下工作。

请注意,这应该是最后的选择。在使用过滤器之前,您应首先尝试解决您的具体问题(在您的问题中没有明确解释)。

兼容模式导致IE9松散圆角。

@WebFilter("*.xhtml")
public class CompatibilityFilter implements Filter {

    public CompatibilityFilter() { }

    public void doFilter(ServletRequest request, ServletResponse res,
            FilterChain chain) throws IOException, ServletException {
        HttpServletResponse resp = (HttpServletResponse) res;
        resp.addHeader("X-UA-Compatible", "IE=EmulateIE8");
        resp.addHeader("Cache-Control", "no-cache, must-revalidate");
        chain.doFilter(request, resp);
    }

    public void destroy() { }

    public void init(FilterConfig fConfig) throws ServletException {
    }
}

答案 1 :(得分:0)

我知道这是一个较老的问题,但您可能遇到/遇到了与我们相同的缺陷:

> <f:ajax/> not working at all in IE9 (normal mode) 
> Created: 18/May/11
> Component/s:  ajax 
> Affects Version/s: 2.1.1    
> Fix Version/s:    2.1.7, 2.2.0-m01

参见JIRA: https://java.net/jira/browse/JAVASERVERFACES-2063

这是问题的信号,如果你得到:

  

&#34; malformedXML:无法获得该物业的价值&#39; removeChild&#39;:   object为null或undefined&#34;。

在您的浏览器控制台中。

解决方案是转到2.1.7或更高版本。