I have the situation, that users have to fill in a formular where they have to upload multiple files. I know that there is multiple upload component in Primefaces but this doesn't fit to my requirement, since I want to know which file is either the photo or some certificate, and the number of files i ask can change, so it can be 2, 3,5 .... files i need to upload.
I try using multiple single and tags but without succes trying to get the data.
this is what i try whit primefaces
private UploadedFile file; private List files;
public UploadedFile getFile() {
return file;
}
public void setFile(UploadedFile file) {
this.file = file;
this.files.add(file);
}
public List<UploadedFile> getFiles() {
return files;
}
public void setFiles(List<UploadedFile> files) {
this.files = files;
}
public void save(){
try{
for(UploadedFile f : files){
FacesMessage message = new FacesMessage("Succesful", f.getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, message);
}
}catch(Exception ex)
{
FacesMessage message = new FacesMessage("Error", ex.toString());
FacesContext.getCurrentInstance().addMessage(null, message);
}
}
and this is the xhtml
<h:form id="form" enctype="multipart/form-data" >
<p:growl id="messages" showDetail="true" />
<p:fileUpload value="#{prueba.file}" mode="simple" />
<p:fileUpload value="#{prueba.file}" mode="simple" />
<p:commandButton type="submit" action="#{prueba.save()}" update="messages" value="Upload" />
</h:form>
getting this error java.lang.NullPointerException because files is null.