我有一个RichFaces的项目,以及一个看似简单的事情,开不想要工作:( 退房代码:重新呈现不适合A4J工作:commandLink标签
<rich:panel header="Admin home" id="panel">
<h:form>
<rich:dataTable id="userlisttable" value="#{adminBean.userList}"
var="user" style="width:100%">
<rich:column id="banDate" headerClass="dataTableHeader"
label="Ban date" sortable="true" sortBy="#{user.banDate}"
sortIconAscending="dataTableAscIcon"
sortIconDescending="dataTableDescIcon">
<f:facet name="header">
<h:outputText value="Ban Date" />
</f:facet>
<h:outputText value="#{user.banDate}" />
</rich:column>
<rich:column id="actions" headerClass="dataTableHeader"
label="Actions" sortable="false">
<f:facet name="header">
<h:outputText value="Actions" />
</f:facet>
<h:panelGrid columns="4">
<h:outputText value="Ban user for" />
<a4j:commandLink action="#{adminBean.banUser}" value="One week"
style="font-size:16px" reRender="banDate" immediate="true">
<f:setPropertyActionListener target="#{adminBean.user}"
value="#{user}" />
</a4j:commandLink>
</h:panelGrid>
</rich:column>
</rich:dataTable>
</h:form>
</rich:panel>
它的行为非常奇怪: (actionBean.banUser)被执行,那么userList的getter也被执行,但是页面上没有任何反应,如果我手动刷新它(F5),新的修改后的数据就会出现。 ,本
你禁止用户后更新adminBean.userList? – soulcheck 2012-01-11 13:22:49
是的。我在getter中有一个数据库查询,正如我所提到的,getter被调用。我也试图把这个查询放在这个动作中,所以如果更新(禁止)成功,那么它就会被解雇,并且仍然没有任何东西:( – 2012-01-11 13:28:54
尝试重新渲染整个表而不是一列 – soulcheck 2012-01-11 13:31:26