ui:repeat 中的多个 p:fileUpload

multiple p:fileUpload in ui:repeat

我在 ui:repeat 中尝试使用 p:fileUpload 时遇到问题。用户选择是否要上传文件或选择 selectOneMenu 中的实体。我的数组的 getter 或 setter 似乎也没有被调用。

 <ui:repeat value="#{adminCreateTeam.teamComposition}" varStatus="status">
        <h:panelGroup rendered="#{ (adminCreateTeam.memNew[status.index].booleanValue())}">
            <!-- create new user -->                            
             ...
            <!-- image associated with the user -->
            <p:fileUpload
                value="#{adminCreateTeam.memPics[status.index]}"
             fileLimit="1"
            mode="simple"/>
        </h:panelGroup>
 </ui:repeat>

我尝试使用 memPics 的数组和数组列表,在这两种情况下都没有调用它们的 getters 和 setters。但是,在使用 ArrayList 时,如果我不从一开始就将空值放入其中,我将得到一个 indexOutOfBondException。所以我用空值预填充它。我不明白,因为 setter 和 getter 都没有被调用..

所以 mempics:

private List<UploadedFile> memPics;

@PostConstruct
public void init() {
    teamComposition = new User[5];
    memPics = new ArrayList<UploadedFile>();
    memPics.add(null); 
    memPics.add(null);
    memPics.add(null);
    memPics.add(null);
    memPics.add(null);
}

ajax 与触发操作的命令组件关联需要禁用模式="simple" 才能工作