我需要有一个功能,每当我点击“添加”按钮时,我可以添加一组表单元素,如(文本框,下拉菜单)。当我点击组件旁边的“删除”按钮时,应该从页面中删除它。 我在Java中需要这个功能。 有人可以提供帮助吗?
答案 0 :(得分:1)
这是一个有效的例子。您应该根据您的要求实施自己的代码
在页面中添加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>
在托管bean getMyObjects()
方法中,应该返回添加项目的列表。
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;
}
}
}