JSF - RichFaces - IE9 повторяет ошибку рендеринга - PullRequest
3 голосов
/ 17 января 2012

Я запускаю веб-приложение, используя RichFaces 4.1.0, mojarra 2.0.2 и apache tomcat 6.0.32. Мое приложение хорошо работает во всех браузерах, кроме IE9. Он перестает работать в IE 9 и не генерирует никаких ошибок JavaScript или журналов Tomcat. Сбой происходит всякий раз, когда происходит операция повторного рендеринга a4j. Я не могу использовать из-за ограничений дизайна метатег, чтобы установить IE9 в режиме совместимости.

Ниже мой код и web.xml:

<h:body>
<h:form>
    <rich:tabPanel switchType="client">
        <rich:tab header="Overview"> 
            <span>Total Number of Applications</span>
        </rich:tab>
        <rich:tab header="Options" onheaderclick="refreshOptions();" >
            <h:outputText value="Logging Level:" />
            <rich:select id="optionsLogLevel" 
                         value="#{optionsBean.logLevel}" 
                         required="true" 
                         requiredMessage="Logging Level is required">
                <f:selectItems value="#{optionsBean.logLevelsList}" />
            </rich:select>
        </rich:tab>
    </rich:tabPanel>
    <a4j:jsFunction name="refreshOptions"
                action="#{optionsBean.refreshOptions}"
                render="optionsLogLevel" execute="@this" />
</h:form>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Production</param-value>
</context-param>
<context-param>
    <param-name>com.sun.faces.enableEarlyMissingResourceLibraryDetection</param-name>
    <param-value>true</param-value>
</context-param>
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<listener>
    <listener-class>com.mitel.bpi.webadmin.model.BPIWebAdminContextListener</listener-class>
</listener>

1 Ответ

2 голосов
/ 11 июня 2013

Скорее всего, вы нажмете JAVASERVERFACES-2063 , что нарушает связь ajax в IE9 из-за неправильно реализованного определения браузера в jsf.js.

Обновление до Mojarra> = 2.1.7 будетскорее всего исправит ваши проблемы.Обновите RichFaces, пока вы на нем, 4.1.0. Финал теперь довольно длинный в зубе.

...