Множественный p:fileUpload в пользовательском интерфейсе:repeat
У меня возникли проблемы при попытке использовать p:fileUpload
в ui:repeat
, Пользователь выбирает, хочет ли он загрузить файл ИЛИ он выбирает объект в selectOneMenu
, Ни геттер, ни сеттер моего массива не называются.
<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
в обоих случаях геттеры и сеттеры тех не были вызваны. Однако при использовании ArrayList, если я не добавлю в него нулевые значения с самого начала, у меня будет indexOutOfBondException
, Поэтому я заранее заполняю его нулевыми значениями. Что я не понимаю, так как ни сеттер, ни геттер не называются..
итак
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);
}
1 ответ
Решение
ajax, связанный с компонентами команд, запускающими действие, необходимо отключить, чтобы с помощью mode="simple" работать