2012-04-27 72 views
2

我已经使用JSF 2.0开发了Web应用程序。它在IE 8和其他浏览器(firefox和谷歌浏览器)中工作正常。但它在IE9中不起作用。您能否介绍一下JSF的IE9兼容性以及如何完成这项工作,以便我的应用能够在IE9中运行。JSF Web应用程序无法在IE9中工作。但它在IE8中正常工作

+0

也许你对某些JSF标签有问题......你正在使用哪个JSF标签? – choop 2012-04-27 09:46:38

+0

我正在使用等... – Thirumurthy 2012-04-27 13:54:26

+0

尝试从XHTML文件中删除并试一试.. – choop 2012-04-27 14:04:29

回答

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 { 
    } 
} 
+0

感谢您的回复。我已经尝试了你提到的方式。在过滤器中添加下面的标题和响应后,它的工作正常。 resp.addHeader(“X-UA-Compatible”,“IE = EmulateIE8”); 但按F12开发人员收费工具将打开。在这种情况下,当您将文档模式更改为IE9标准时,问题仍然存在。你能帮我吗...??? – Thirumurthy 2012-04-27 10:46:37

+0

如果你已经拥有'@WebFilter'注解,'web.xml'注册是不必要的。然而,URL模式是错误的。不应该是@WebFilter(“*。xhtml”)或者@WebFilter(servletNames = {“Faces Servlet”})'? – BalusC 2012-04-27 14:08:06

+0

@BalusC感谢您澄清。所以我们很幸运,尽管我们的配置错误,它仍然工作......更新了我的答案。 – 2012-04-28 14:59:19

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

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

“malformedXML:Unable to get val属性'removeChild'的属性: 对象为null或未定义“。

在您的浏览器控制台中。

解决方案将移至2.1.7或更高版本。

相关问题