在jsf 2.2中使用多个输入文件

时间:2016-05-06 02:35:56

标签: jsf jsf-2 primefaces jsf-2.2

我有这种情况,用户必须填写一个表格,他们必须上传多个文件。 我知道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。

0 个答案:

没有答案