可能重复:
如何创建动态 JSF 1.2 表单字段
我需要一个功能,每次单击“添加”按钮时,我都可以添加一组表单元素,例如(文本框、下拉菜单)。当我单击组件旁边的“删除”按钮时,它应该从页面中删除。我在 Java 中需要的这个功能。有人可以帮忙吗?
可能重复:
如何创建动态 JSF 1.2 表单字段
我需要一个功能,每次单击“添加”按钮时,我都可以添加一组表单元素,例如(文本框、下拉菜单)。当我单击组件旁边的“删除”按钮时,它应该从页面中删除。我在 Java 中需要的这个功能。有人可以帮忙吗?
这是一个工作示例。您应该根据您的要求实现自己的代码。
将 a 添加textBox
到您的页面,然后使用可迭代的组件,如ui:repeat
,a4j:repeat
或c: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;
}
}
}