【发布时间】:2011-04-12 13:57:52
【问题描述】:
请看下面的代码片段:
<h:form>
<h:panelGrid columns="2">
<h:inputText value="#{vehicleBean.pin}" />
<a4j:commandButton action="#{vehicleBean.loadVehiclesByPin}" render="results"/>
</h:panelGrid>
</h:form>
<a4j:outputPanel id="results">
<rich:dataTable value="#{vehicleBean.vehicles}" rendered="#{not empty vehicleBean.vehicles}">
...
</rich:dataTable>
</a4j:outputPanel>
当我按下按钮时,会发送一个 Ajax 请求来加载一些业务实体。 它们显示在 Rich:dataTable 中,只有在对应的数组不为空时才会呈现。
这适用于我的 Chrome 和 Firefox 4,但不适用于 IE9。 但我很确定这是我的错,而不是 IE 的 ;-)
所以请告诉我:
- 解决此类问题的正确方法是什么(使用条件渲染元素)?
- 我应该重新渲染哪些元素?
- commandButton 也有一个 execute 属性:我什么时候以及为什么必须使用这个属性?
你好,塞比
【问题讨论】: