PrimeFaces <p:tab>
を動的に追加しようとしています。p:tabViewコンポーネントでタブを動的に追加および削除する方法
「java.lang.IllegalStateException::コンポーネントIDのTAB0が既にビューで発見された」私は次の例外を取得しています2つ目のタブを追加しています。
どうすればこの問題を解決できますか?ここ
は、ビューコードである:ここ
<h:form prependId="false">
<p:tabView id="tabview" dynamic="true" cache="false"
binding="#{testBean.tabView}"
activeIndex="#{testBean.activeTab}" >
<h:commandButton value="Close" action="#{testBean.removeTab}"/>
</p:tabView>
<h:commandButton value="Add Tab" action="#{testBean.addTab}"/>
</h:form>
は、Beanコード:
public String addTab() {
String tabId="tab"+id;
System.out.println("Gen Id: "+tabId);
tab = new Tab();
tab.setTitle("Title: "+tabId);
tab.setId(tabId);
System.out.println("Tab Id: "+tab.getId());
tabView.getChildren().add(id,this.tab);
id++;
return "tabtest.jsf";
}
public String removeTab() {
tabView.getChildren().remove(activeTab);
return "tabtest.jsf";
}
と
'id'がひどく管理されているようです。より多くのコードを掲示できますか(例えば、「id」の宣言)? BWTでは、同じページ 'tabtest.jsf'にとどまる場合、メソッドは' void'を返すことができます。 –
@ janasoft:どうすればこの問題を解決することができましたか(今解決済みの場合) –