我正在研究JSF a4j componentsnet。
<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”,我已经完成了。但没有运气。
答案 0 :(得分:1)
我得到了答案
<h:dataTable value="#{myBackingBean.anotherBean.sampleList}"
var="sampleList"
styleClass="table"
id="dataTable1">
<h:column>
....
</h:column>
</h:dataTable>
我删除了h:panelGroup
并将该ID设置为h:datatable
,这样可行。 :)