我有一个带有表格的表格,每次按下按钮时我都可以为其添加N个人名。
在提交表单后,我在调试期间验证了每次调用setName()时(对于每个inputText),列表中的所有名称都使用该值设置 - 而不仅仅是与索引对应的名称。 / p>
一个例子:
代码如下:
<p:panelGrid>
<p:row>
<p:column>
<p:commandButton id="addMoreFields" icon="ui-icon-plusthick" value="Add More Fields" actionListener="#{manageBean.addMoreFields()}" update="list" />
</p:column>
</p:row>
</p:panelGrid>
<p:panelGrid id="list">
<c:forEach items="#{manageBean.peopleList}" var="val" varStatus="loop">
<p:panelGrid role="grid">
<p:row>
<p:column>
<h:outputText value="Name" />
</p:column>
<p:column>
<p:inputText value="#{manageBean.myList[loop.index].name}" />
</p:column>
</p:row>
</p:panelGrid>
</c:forEach>
</p:panelGrid>
<p:commandButton id="submit" value="submit" actionListener="#{manageBean.submit}" />
ManageBean :
...
public List<Person> getPeopleList() {
return getCurrentYear().getTeam().getPeopleInTeam();
}
团队:
...
private final List<Person> peopleList= new ArrayList<Person>();
public List<Person> getPeopleInTeam() {
return peopleList;
}
人:
...
private String name;
private String address;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
编辑:终于明白了原因,但不是原因。显然,吸气剂在吸气剂中是导致这个问题的原因。如果我在manageBean中有一个人员列表,它可以很好地工作。但是,该列表是具体的PER团队。 知道我怎么能做到这一点?为什么会发生这种情况?