所以我在 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=" 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。有人对可能发生的事情有任何想法吗?任何帮助将不胜感激,谢谢。