Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/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
Ajax内部的动态内容&x27;s";更新;标签_Ajax_Jsf 2_Primefaces - Fatal编程技术网

Ajax内部的动态内容&x27;s";更新;标签

Ajax内部的动态内容&x27;s";更新;标签,ajax,jsf-2,primefaces,Ajax,Jsf 2,Primefaces,我试图在Primefaces中的tabView中动态更新单击选项卡的内容。我试图模拟ajax的listener标记中的内容,我知道在单击选项卡时这不起作用,因为listener标记中的EL已经计算为字符串。问题是,有没有办法做到这一点??谢谢你的帮助 <p:tabView id="tv1" widgetVar="wv1" activeIndex="1"> <p:ajax event="tabChange" listener="#{bea

我试图在Primefaces中的tabView中动态更新单击选项卡的内容。我试图模拟ajax的listener标记中的内容,我知道在单击选项卡时这不起作用,因为listener标记中的EL已经计算为字符串。问题是,有没有办法做到这一点??谢谢你的帮助

<p:tabView id="tv1" widgetVar="wv1" activeIndex="1">

      <p:ajax event="tabChange"
              listener="#{bean.onTabChange}"
              update="#{bean.updatedTabID}"/>

      <p:tab title="tab1">
         <p:dataTable id="dtTab1">... </p:dataTable>
      </p:tab>
      <p:tab title="tab2">
         <p:dataTable id="dtTab2">... </p:dataTable>
      </p:tab>
</p:tabView> 

同样的原则也将适用于你的需要谢谢kolossus,他做到了。
String updatedTab

public String updatedTabID(){
    return updatedTab;
}

public void onTabChange(TabChangeEvent event) {
    Tab activeTab = event.getTab();
    String activeTabTitle = activeTab.getTitle();        

    if(activeTabTitle.equals("tab1")){
       updatedTab=":tv1:dtTable1";
       // update dataTable1 collection

    }else if(activeTabTitle.equals("tab2")){
       updatedTab=":tv1:dtTable2";
       // update dataTable2 collection
    }
}