JSF 2.0 动态删除组件

发布于 2024-10-17 04:35:56 字数 200 浏览 1 评论 0原文

作为有关在 JSF 2.0 中动态添加组件(请参阅下面的链接)的已回答问题的后续内容,我喜欢使用数据表的方法,但是删除添加的组件之一怎么样?

如何动态添加 JSF 组件

As a follow on to an answered question on Adding Components Dynamically in JSF 2.0 (see link below), I like the approach of using a dataTable, but what about Removing one of the added components?

How to dynamically add JSF components

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请远离我 2024-10-24 04:35:56

根据您链接的其他问题中的代码片段,您需要进行以下更改:

  1. 向表中添加带有删除按钮的列。

    
    
  2. 添加一个DataModel;属性到 bean 并将项目列表包装在其中,以便您能够获取单击按钮的表行。

    私有 DataModel;模型 = new ListDataModel(items);
    

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

  3. 在数据表中使用它。

    
    
  4. 向 bean 添加删除方法。

    public void delete() {
        items.remove(model.getRowData());
    }
    

另请参阅:

Based on the code snippet in the other question you linked, you need to do the following changes:

  1. Add a column with a delete button to the table.

    <h:column><h:commandButton value="delete" action="#{bean.delete}" /></h:column>
    
  2. Add a DataModel<Item> property to the bean and wrap the list of items in it so that you will be able to obtain the table row where the button was clicked.

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

    (don't forget the getter, note that you can also instantiate this in bean constructor or postconstruct)

  3. Use this in the datatable instead.

    <h:dataTable value="#{bean.model}" var="item">
    
  4. Add a delete method to the bean.

    public void delete() {
        items.remove(model.getRowData());
    }
    

See also:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文