我有这种情况,用户必须填写一个表格,他们必须上传多个文件。 我知道Primefaces中有多个上传组件,但这不符合我的要求,因为我想知道哪个文件是照片或某个证书,我问的文件数量可以改变,所以它可以是2,3,5 ....我需要上传的文件。
我尝试使用多个单一和标签,但没有成功尝试获取数据。
这是我尝试使用白色素数
私有的UploadedFile文件; 私人列表文件;
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);
}
}
这是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>
获取此错误java.lang.NullPointerException,因为files为null。