在行选择(在p:dataTable中)调用不同的java方法?

在行选择(在p:dataTable中)调用不同的java方法?,java,ajax,jsf,primefaces,ajax4jsf,Java,Ajax,Jsf,Primefaces,Ajax4jsf,如何在数据表的行选择上调用不同的web服务(不同的java方法) 并使用行选择通过ajax异步更新页面 我有这个场景,因为我有5个选项卡,应该通过从5个方法获取数据来更新。当第一个侦听器没有给出数据时,它会影响所有其他选项卡。所以我想分别给他们打电话 <p:ajax event="rowSelect" listener="#{userController.onFetchUsers}" update=":userRightPaneForm :usersForm:usersL

如何在数据表的行选择上调用不同的web服务(不同的java方法) 并使用行选择通过ajax异步更新页面

我有这个场景,因为我有5个选项卡,应该通过从5个方法获取数据来更新。当第一个侦听器没有给出数据时,它会影响所有其他选项卡。所以我想分别给他们打电话

<p:ajax event="rowSelect" listener="#{userController.onFetchUsers}" 
        update=":userRightPaneForm :usersForm:usersList"/>

<p:ajax event="rowSelect" listener="#{userController.onFetchUserDetails}" 
        update=":userRightPaneForm :usersForm:usersList"/>

我试过这样做。但是
onFetchUsers
onFetchUserDetails
方法都在行选择事件上调用了2次

我使用的是素面3.4.2

我怎样才能做到呢


任何建议都将不胜感激。

其取决于业务场景

首先,一行选择可以调用java方法,该方法填充所有选项卡数据,更新中按顺序给出所有五个选项卡的ID

希望这对你有用


或者让我知道测试仪和问题等步骤的具体情况。

您尝试了什么?我已经更新了问题。看一看,您确定可以为同一事件注册多个ajax侦听器吗?我以前从未见过这种构造。是的,我有5个选项卡应该通过从5个方法获取数据来更新。因为虽然第一个侦听器没有给出数据,但它会影响所有其他选项卡。所以我想分别调用它们。到目前为止,我正在使用一种方法来填充所有选项卡的数据。现在我想单独填充。