File upload 如何使用<;限制允许上载的文件数;p:fileUpload>;

File upload 如何使用<;限制允许上载的文件数;p:fileUpload>;,file-upload,jsf-2,primefaces,File Upload,Jsf 2,Primefaces,如何在JSF2+primefaces应用程序中限制允许上载的文件数量。primeface 3.3中有“filelimit”属性,但我使用的是primefaces 3.4看起来filelimit选项已被删除 如注释中所述,在支持bean中使用一个计数器,丢弃额外的文件或添加一个FacesMessage来通知用户已达到最大文件限制 代码示例: @ManagedBean @ViewScoped public class FileUploadController { private final

如何在JSF2+primefaces应用程序中限制允许上载的文件数量。primeface 3.3中有“filelimit”属性,但我使用的是primefaces 3.4

看起来filelimit选项已被删除

如注释中所述,在支持bean中使用一个计数器,丢弃额外的文件或添加一个FacesMessage来通知用户已达到最大文件限制

代码示例:

@ManagedBean
@ViewScoped
public class FileUploadController {

    private final static int MAX_NUM_FILES = 3;
    private List<UploadedFile> uploadedFiles;
    private int counter = 0;

    @PostConstruct
    public void init() {
        uploadedFiles = new ArrayList<UploadedFile>();
    }


    public void handleFileUpload(FileUploadEvent event) {
        if (counter < MAX_NUM_FILES) {
            uploadedFiles.add(event.getFile());
            FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
            FacesContext.getCurrentInstance().addMessage(null, msg);
            counter ++;       
        }
        else {
            FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "File Upload Limit Reached ", event.getFile().getFileName() + " is not uploaded.");
            FacesContext.getCurrentInstance().addMessage(null, msg);
        }

    }
}
@ManagedBean
@视域
公共类FileUploadController{
私有最终静态int MAX_NUM_FILES=3;
私有列表上传文件;
专用整数计数器=0;
@施工后
公共void init(){
uploadedFiles=新建ArrayList();
}
公共无效handleFileUpload(FileUploadEvent事件){
如果(计数器
INMO,您的最佳选择是
auto=“true”