c:forEach - 具有相同值的所有列表值

时间:2017-12-20 18:00:11

标签: jsf primefaces jstl

我有一个带有表格的表格,每次按下按钮时我都可以为其添加N个人名。

在提交表单后,我在调试期间验证了每次调用setName()时(对于每个inputText),列表中的所有名称都使用该值设置 - 而不仅仅是与索引对应的名称。 / p>

一个例子:

Example of the list values

代码如下:

    <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团队。 知道我怎么能做到这一点?为什么会发生这种情况?

0 个答案:

没有答案