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
Jsf 在p:tabView上使用dynamic=“true”时,其他选项卡不会打开,并且不会调用第一个选项卡中的commandlink_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Jsf 在p:tabView上使用dynamic=“true”时,其他选项卡不会打开,并且不会调用第一个选项卡中的commandlink

Jsf 在p:tabView上使用dynamic=“true”时,其他选项卡不会打开,并且不会调用第一个选项卡中的commandlink,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我正在使用JSF2.0和PrimeFaces3.0m3。当我将dynamic=false设置为on时,它工作正常。但当我将其设置为true时,则只有当前活动的选项卡起作用。其他选项卡不运行。在第一个选项卡中,我在数据表中有一个命令链接,这也不起作用 下面是我的tabletabview.xhtml: ActivityRegBean有一个getter和setter 如何在上使用dynamic=true而不出现问题?您可以尝试使用此选项而不是p:ajax吗 <p:tabView cache="f

我正在使用JSF2.0和PrimeFaces3.0m3。当我将dynamic=false设置为on时,它工作正常。但当我将其设置为true时,则只有当前活动的选项卡起作用。其他选项卡不运行。在第一个选项卡中,我在数据表中有一个命令链接,这也不起作用

下面是我的tabletabview.xhtml:

ActivityRegBean有一个getter和setter


如何在上使用dynamic=true而不出现问题?

您可以尝试使用此选项而不是p:ajax吗

<p:tabView cache="false"  dynamic="true" tabChangeListener="#{ActivityController.onChange}" onTabChangeUpdate="growl">

我注意到您正在使用xmlns:p=http://primefaces.prime.com.tr/ui . 它适用于primefaces 2.2,如果您确实在使用primefaces 3,那么它会抱怨该命名空间不存在taglibrary。对于PF3,您应该使用xmlns:p=http://primefaces.org/ui . 也许你应该清理你的工作目录。

我用过Primefaces RC1和RC2。但它仍然不起作用。这是在M4中引入的。OP使用M3。更重要的是,使用错误的taglib URI将导致完全不同的结果,即根本不呈现组件。这里的情况并非如此。
public List<ActivityRegBean> getDataList() {
    return dataList;
}

public void setDataList(List<ActivityRegBean> dataList){
    this.dataList=dataList;
}

private ActivityRegBean dataItem;
private HtmlInputHidden dataItemId = new HtmlInputHidden() ;


public String editDataItem() throws IOException {
    FacesContext context = FacesContext.getCurrentInstance();  
    System.out.println(dataItem.activityname);
    dataItemId.setValue(dataItem.activityid);
    System.out.println(dataItem.activityid);
    retfromtable(dataItem.activityname);
    return "edit"; // Navigation case.
}

public void onChange(TabChangeEvent event) { 
    System.out.println("tab id = " + event.getTab().getId());
}
<p:tabView cache="false"  dynamic="true" tabChangeListener="#{ActivityController.onChange}" onTabChangeUpdate="growl">