1

可能重复:
如何创建动态 JSF 1.2 表单字段

我需要一个功能,每次单击“添加”按钮时,我都可以添加一组表单元素,例如(文本框、下拉菜单)。当我单击组件旁边的“删除”按钮时,它应该从页面中删除。我在 Java 中需要的这个功能。有人可以帮忙吗?

4

1 回答 1

1

这是一个工作示例。您应该根据您的要求实现自己的代码。
将 a 添加textBox到您的页面,然后使用可迭代的组件,如ui:repeat,a4j:repeatc:forEach创建多个组件。

<h:form id="test">  
  <ui:repeat value="#{myBean.myObjects}" var="obj">
    <h:inputText value="#{obj.text}" />
    <h:commandButton action="#{myBean.remove(obj)}" value="Remove"/><br/>
  </ui:repeat>
  <br/>
  <h:commandButton action="#{myBean.add()}" value="Add"/>  
</h:form>

在您的托管 beangetMyObjects()方法中应该返回您添加项目的列表。

public class MyBean {
  private List<MyObject> objs = new ArrayList<MyObject>();

  public List<MyObject> getMyObjects() {
    return objs;
  }

  public void remove(MyObject t) {
    objs.remove(t);
  }

  public void add() {
    objs.add(new MyObject());
  }

  public class MyObject {
    private String text;

    public String getText() {
      return text;
    }

    public void setText(String text) {
      this.text = text;
    }

  }
}
于 2012-12-14T11:52:47.343 回答