我创建了简单的列表组件,让你可以添加你想要的对象数量。
<h:panelGroup id="parentPanelGroupId">
<ui:repeat value="#{bean.list}" var="element" varStatus="status">
<p:inputText value="#{element.name}">
<p:inputText value="#{element.year}">
<p:commandLink value="remove" action="#{bean.removeItem(element)}" process=":form:parentPanelGroupId" update=":form:parentPanelGroupId"
</ui:repeat>
<p:commandLink value="remove" action="#{bean.addItem()}" process=":form:parentPanelGroupId" update=":form:parentPanelGroupId"
</h:panelGroup>
豆
@Named
@ViewScoped
public class Bean implements Serializable {
private List<TestElement> list;
public void addItem() {
list.add(new TestElement());
}
public void removeItem(TestElement t) {
list.remove(t);
}
//getters and setters
}
它工作正常,当我通过commandLinks添加或删除项目时,列表大小正在改变但我也丢失了我写入thoose元素的每一个数据:(有些解决方案吗?