我正在研究 JSF a4j 组件。
<h:selectOneMenu id="sampleSelect" value="#{myBackingBean.id}"
immediate="true">
<f:selectItems value="#{myBackingBean.generateSampleList}"/>
<h:outputLabel value="Sample List : " for="sampleSelect"></h:outputLabel>
<a4j:support ajaxSingle="true"
event="onchange"
reRender="dataTable1, dataTable2, dataTable3"
oncomplete="setColorbox();"
action = "#{myBackingBean.setSampleListForDatatables}">
</a4j:support>
</h:selectOneMenu>
我的数据表为
<h:panelGroup id="dataTable1">
<h:dataTable value="#{myBackingBean.anotherBean.sampleList}"
var="sampleList"
styleClass="table">
<h:column>
....
</h:column>
</h:dataTable>
</h:panelGroup>
我有多个类似的数据表,这些数据表在这个 ajax 调用中发生了变化,应该在完成 ajax 调用时重新呈现。
在服务器端数据被完美地改变,但在 UI 上没有被修改。
出于检查目的我所做的是....使用,
<h:column>
<%=new java.util.Date()%>
</h:column>
在我的 ajax 调用后未修改的数据表中。
任何人都可以向我提出任何建议吗?
从一些帖子中我知道我必须使用我已经完成的 immediate="true" 。但没有运气。