1
我需要有一个功能,其中i可以添加一组形式的元素等(文本框,下拉菜单)每当时间我点击'添加'按钮。当我点击组件旁边的“删除”按钮时,它应该从页面中删除。 这是Java中需要的功能。 任何人都可以帮忙吗?
我需要有一个功能,其中i可以添加一组形式的元素等(文本框,下拉菜单)每当时间我点击'添加'按钮。当我点击组件旁边的“删除”按钮时,它应该从页面中删除。 这是Java中需要的功能。 任何人都可以帮忙吗?
这是一个工作示例。您应该根据您的要求实施您自己的代码。
将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;
}
}
}
非常感谢。标签是jsf标签?我想使用核心标签来实现,而不使用其他库,如primefaces,richfaces等。 –
Tjs
这是一个“Facelets”标签。我认为这不是你的问题。阅读更多在[这里](http://docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/facelets/ui/repeat.html)和[here](http://www.jsftoolbox。 com/documentation/facelets/10-TagReference/facelets-ui-repeat.html) – prageeth
@Prageeth如果OP正在处理一个中等规模的项目并尝试在中间添加Facelets,这可能是一个问题。 –