JSF 2.0动态删除组件

时间:2011-02-11 19:54:18

标签: datatable components jsf-2 dynamic

关于在JSF 2.0中动态添加组件的回答问题(请参阅下面的链接),我喜欢使用dataTable的方法,但是如何删除其中一个添加的组件?

How to dynamically add JSF components

1 个答案:

答案 0 :(得分:1)

根据您关联的other question中的代码段,您需要进行以下更改:

  1. 在表格中添加一个带删除按钮的列。

    <h:column><h:commandButton value="delete" action="#{bean.delete}" /></h:column>
    
  2. 向bean添加DataModel<Item>属性并将其中的项目列表包装起来,以便您可以获取单击该按钮的表格行。

    private DataModel<Item> model = new ListDataModel<Item>(items);
    

    (不要忘记getter,请注意你也可以在bean构造函数或postconstruct中实例化它)

  3. 请在数据表中使用它。

    <h:dataTable value="#{bean.model}" var="item">
    
  4. 向bean添加删除方法。

    public void delete() {
        items.remove(model.getRowData());
    }
    
  5. 另见: