【发布时间】:2013-03-04 23:20:00
【问题描述】:
我有一个数据表,需要在使用每行中的 ajax 命令时进行刷新。
<div class="authorSection">
<h:dataTable id="author-table" var="author" value="#{authorPOCBean.getauthors()}">
<h:column>
<f:facet name="header">
<h:outputText value="Org Short Name" />
</f:facet>
<h:outputText id="authorOrganizationShortName" value="#author.orgShortName}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Organization Name" />
</f:facet>
<h:outputText id="authorOrganizationName" value="#{author.orgName}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Location" />
</f:facet>
<h:outputText id="authorLocation" value="#{author.orgLocation}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="author Type" />
</f:facet>
<h:outputText id="authorType" value="#{author.authorName}" />
</h:column>
<h:column>
<h:form id="deleteauthorForm">
<h:commandLink action="#{authorPOCBean.deleteauthor(author)}" value="Delete">
<f:ajax render=":author-table"/>
</h:commandLink>
</h:form>
<h:form id="setInitialauthorForm">
<h:commandLink action="#{authorPOCBean.makeInitialauthor(author)}" value="Make Initial"/>
</h:form>
</h:column>
</h:dataTable>
</div>
当使用删除功能时,它似乎使表格保持不变,或者可能用旧数据呈现它?我现在已将其设置为被调用方法所做的第一件事是更改内部数组然后更改数据库内容,但它仍然使用旧数据。
我的代码有明显的问题吗?
我查看了以下链接并尝试了建议,但没有新结果。事实上,如果我用表格包围表格,表格将无法正确构建。
【问题讨论】:
-
您在数据表中有表单,这可能不是有效的方法?
-
确保在最大
<div>之上没有nested forms,在数据表之上没有naming containers,你在Servlet 3.0 Container上运行并且你的action被实际命中(没有拼写错误,等)通过在方法上放置断点。检查后联系我们。 -
向我们展示你的 bean 操作方法。