如何在数据库更改后在JSF中刷新ajax调用



我有一个使用ajax请求在JSF页面中生成的表。当我从该表中删除一个条目时,我希望ajax调用刷新以显示该条目已被删除。下面是我的代码。在"deleteAccount"命令按钮被点击的那一刻,该条目从数据库中删除,但这并没有得到反映在屏幕上,直到我再次点击"搜索承包商"按钮。任何帮助都是感激的。由于

<h:form id="searchForm">
    <div class="white"><H2>View All Contractors</H2></div>
    <table>
        <tr>
            <td>
             <div class="myButtonPadding">
                <h:commandButton id="searchContractors" class="myButton"
                  action="#{adminBean.searchAllContractors()}" value="View All">
                     <f:ajax execute="@form" render=":results" />
                </h:commandButton>
              </div>
             </td>
        </tr>
    </table>
</h:form>
<table>
    <tr>
      <td>
        <div class="red">
           <H2>Search Results</H2>
        </div>      
        <ui:repeat var="a" value="#{adminBean.contractorList}" varStatus="status">
            <tr>
                <td>
                   <div class="generaltext5">#{a.businessName}</div>
                </td>
                <td>
                    <h:commandButton id="deleteAccount" class="myButton2" value="Delete" action="#{adminBean.deleteAccount(a.id)}">
                         <f:param name="compId" value="#{a.id}" />
                     </h:commandButton></td>
              </tr>  
         </ui:repeat>
        </td>
    </tr>
</table>

使用<f:ajax>标签与您的按钮。

<h:commandButton id="deleteAccount" class="myButton2" value="Delete" type="button" >
    <f:ajax event="click" listener="#{adminBean.deleteAccount(a.id)}" render=":searchForm"/>
</h:commandButton> 

这将启动一个ajax调用并更新id为searchForm的整个表单,但是如果您愿意,您可以只更新表。为了将来的证明,如果您想从下表提交任何内容,请确保将其包含在h:form标签中。顺便说一句。为什么要传递带有

的参数?
<f:param name="compId" value="#{a.id}" />

如果你已经用方法调用了?(adminBean.deleteAccount(a.id))

相关内容

  • 没有找到相关文章

最新更新