【问题标题】:Richfaces extendedDataTable breaks in ie9Richfaces extendedDataTable 在 ie9 中中断
【发布时间】:2013-09-16 15:34:42
【问题描述】:

所以我在 jsf 应用程序中有以下数据表。

     <rich:extendedDataTable border="0px"
                value="#{package.packageSearchList}" var="o" id="mainTable"
                rowClass="test" styleClass="mainTable" rows="5"
                selection="#{package.selection}" selectionMode="single"
                iterationStatusVar="packageIndex">

                <a4j:ajax execute="@firstForm" event="selectionchange"
                    listener="#{package.selectionListener}"
                    render=":secondForm :res" />

                <rich:column>
                    <f:facet name="header" class="header">ID</f:facet>
                    <h:outputText value="#{o.packageID}" />
                </rich:column>

                <rich:column>
                    <f:facet name="header" class="header">Product Name</f:facet>
                    <h:outputText value="#{o.name}" />
                </rich:column>

                <rich:column>
                    <f:facet name="header" class="header">Cost</f:facet>
                    <h:outputText value="#{o.cost}" />
                </rich:column>

                <rich:column>
                    <f:facet name="header" class="header">Duration</f:facet>
                    <h:outputText value="#{o.duration}" />
                </rich:column>
                <rich:column>
                    <f:facet name="header" class="header">Size</f:facet>
                    <h:outputText value="#{o.size}" />
                </rich:column>
                <rich:column headerClass="blank">
                    <a4j:commandButton action="#{package.deletePackage}"
                        render="maintable :firstForm" value="&emsp;Remove"
                        styleClass="fancyButtonRemove">
                        <f:setPropertyActionListener target="#{package.editedPackage}"
                            value="#{o}" />
                    </a4j:commandButton>
                </rich:column>
            </rich:extendedDataTable>
            <rich:dataScroller id="tableDataScroller" maxPages="2"
                for="mainTable" renderIfSinglePage="true">
            </rich:dataScroller>

如果用户选择其中之一,则所选对象中包含的信息将显示在输出面板中。这在 Chrome、Firefox、IE8 和 IE7 上运行良好,但在 IE9 或 IE10 上不起作用,我不知道为什么。后端没有抛出错误,也没有抛出异常。它也适用于早期版本的 IE,这让我非常困惑。

奇怪的是不是所有东西都会破坏它。我可以选择表中的任何内容,它选择得很好并进行后端调用,但是它不会呈现输出面板,当我尝试删除记录或使用 datascroller 更改扩展数据表时,整个事情都会中断。选择将不再起作用,任何按钮都会失去所有响应能力。

作为一种解决方法,我尝试使用以下代码强制浏览器默认为 IE8 文档模式,但无论我做什么,我的 IE 都会在 IE9 中不断加载。

    <meta http-equiv="x-ua-compatible" content="IE=8" />

我正在使用 Richfaces 4.3.2 Final 和 Mojarra 2.0。有人对可能发生的事情有任何想法吗?任何帮助将不胜感激,谢谢。

【问题讨论】:

    标签: internet-explorer jsf-2 richfaces


    【解决方案1】:

    好吧,事实证明这与我的 Mojarra 版本有关,我通过升级到 2.1.9 版本来修复它。我需要在我的 pom 文件中使用以下内容覆盖我的 Javax.faces 依赖项。

       <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>2.1.9</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>2.1.9</version>
            <scope>compile</scope>
        </dependency>
    

    我希望这对其他人有帮助。

    【讨论】:

      猜你喜欢
      • 2011-07-23
      • 2015-02-07
      • 2012-02-22
      • 1970-01-01
      • 2012-11-02
      • 2011-12-25
      • 1970-01-01
      • 2012-10-10
      • 2014-01-20
      相关资源
      最近更新 更多