通过模型对曲面进行显示 - 删除与关闭时选项卡关联的模型

时间:2012-03-02 13:40:30

标签: java ajax jsf primefaces tabview

我正在使用Primefaces(版本3.0.1)p:tabView组件,它显示模型中列表支持的动态选项卡数。 TabView中的选项卡是可关闭的。我想通过close事件删除与标签关联的列表元素。

以下是我的观点:

<p:tabView id="tabView" var="iterator" value="#{bean.list}">
    <p:ajax event="tabClose"
        listener="#{bean.removeElement(iterator)}" process="@this" />

        <p:tab id="tab" closable="true">
            <h:outputText value="#{iterator.text}" />
        </p:tab>
</p:tabView>

我的bean处理程序:

public void removeElement(Element e) {
    this.list.remove(e);
}
在这种情况下,

Element e为空

我还尝试在p:collector元素中使用p:ajax。 primefaces.org展示了example。根据它我的事件处理程序应该看起来像

public void removeElement(TabCloseEvent event) {
    // ...
}

但我不知道怎样才能与tab list元素相关联。

所有答案将不胜感激。提前致谢

1 个答案:

答案 0 :(得分:2)

应该使用

public void removeElement(TabCloseEvent event),imo。

根据TabCloseEvent,它有一个方法getData()。这可以让您访问您的模型类。免责声明:我还没有像现在这样使用TabView,但它以Primeface的Tree组件(即选择节点)的方式工作。你可以回复你的发现吗?