如何使用ajax点击命令按钮动态地在tabview
primefaces
中添加标签?
<p:tabView id="tabview" dynamic="true" cache="false"
binding="#{TestBean.tabView}"
activeIndex="0"
scrollable="true">
<p:tab title="tab1" closable="true">
<h:outputLabel value="1"></h:outputLabel>
</p:tab>
<p:tab title="tab2" closable="true">
<h:outputLabel value="2"></h:outputLabel>
</p:tab>
<p:tab title="tab3" closable="true">
<h:outputLabel value="3"></h:outputLabel>
</p:tab>
</p:tabView>
支持bean
public class TestBean {
TabView tabView;
int id=0;
public TestBean() {
}
public String addTab() {
String tabId="tab"+id;
Tab tab = new Tab();
tab.setTitle("Title: "+tabId);
tab.setId(tabId);
tabView.getChildren().add(id,tab);
id++;
return "tabtest.jsf";
}
public TabView getTabView() {
return tabView;
}
public void setTabView(TabView tabView) {
this.tabView = tabView;
}
这是我的支持bean。我是jsf
和Primefaces
的新手。请帮助。
谢谢。
答案 0 :(得分:2)
在方法addTab()
中,您可以添加
TabView tabView = new TabView();
Tab newTab = new Tab();
newTab.setTitle("Tab Title");
tabView.getChildren().add(newTab);
您应该更新视图以反映新标签。使用RequestContext
进行ajax更新。
RequestContext context = RequestContext.getCurrentInstance();
context.update("tabview");