Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Primefaces 单击“基本面”选项卡_Primefaces_Tabs_Onclick - Fatal编程技术网

Primefaces 单击“基本面”选项卡

Primefaces 单击“基本面”选项卡,primefaces,tabs,onclick,Primefaces,Tabs,Onclick,我有一个primefaces选项卡视图,如下所示: <p:tabView id="tabView"> <p:tab id="tab1" title="Godfather Part I"> This tab has static content. </p:tab> <p:tab id="tab2" title="Godfather Part II"> this tab has

我有一个primefaces选项卡视图,如下所示:

<p:tabView id="tabView">  
    <p:tab id="tab1" title="Godfather Part I">  
        This tab has static content.
    </p:tab>  

    <p:tab id="tab2" title="Godfather Part II">  
        this tab has a datatable whose  
    </p:tab>  
</p:tabView>

此选项卡具有静态内容。
此选项卡有一个数据表,其

现在,我想做的是,当用户单击tab2时,启动managedbean方法。我可以在tabView的tabchange事件上添加一个actionlistener,但这也会在单击tab1时触发该方法。如何仅在单击tab2时触发方法?

在单击tabView的每个选项卡时将调用Action listener。 但是您可以通过这样的条件块来控制动作侦听器。 以下是一个例子:

<p:tabView id="tabView" dynamic="true">

    <p:ajax event="tabChange" listener="#{Bean.onTabChange}" update=":messages" />
    <p:tab id="tab1" title="#{userLbl['notification.headerIncoming']}">
    <p:tab id="tab2" title="#{userLbl['notification.headerOutgoing']}">
</p:tabView>
public void onTabChange(TabChangeEvent event) {

   if (event.getTab().getId().equals("tab1")) {
       //Your actions for tab1
   } else if((event.getTab().getId().equals("tab2")) {
     //Your actions for tab2
   }
}