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" 才能工作
我在 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" 才能工作