p:fileUpload无法正常工作(文件为空)

时间:2017-07-10 09:31:36

标签: file-upload primefaces

我无法使fileUpload选项正常工作。我一直有消息文件为null。 你能告诉我如何解决这个问题吗?

这是我的xhtml:

<h:form enctype="multipart/form-data">
    <p:fileUpload mode="simple" id="recupereFile" value="#{FileUploadView.uploadedFile}" />
    <p:commandButton value="Upload" action="#{FileUploadView.upload}" ajax="false" />
</h:form>

这是我的java:

@ManagedBean(name="FileUploadView")
public class FileUploadView {

    private UploadedFile file;

    public UploadedFile getFile() {

        System.out.println(file);
        return file;

    }

    public void setFile(UploadedFile file) {
        this.file = file;
    }

    public void upload() {

        UploadedFile file = getFile();

        System.out.println("hello");
        System.out.println(file);

        if(file != null) {
            FacesMessage message = new FacesMessage("Succesful", file.getFileName() + " is uploaded.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            System.out.println(message);
        }
    }
}

文件始终为空!

我的web.xml

    <filter>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <filter-class>
org.primefaces.webapp.filter.FileUploadFilter
</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
  </filter-mapping>

我有这些罐子: 公地文件上传-1.3.1.jar 公地io_2.5.jar

Thansk的帮助。

2 个答案:

答案 0 :(得分:0)

我们几个月前在这里遇到过类似的问题。这样做的同事离开了我们公司,所以我无法问他。无论如何,这就是我的web.xml的相关部分的样子。

<filter>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <url-pattern>*.jsf</url-pattern>
</filter-mapping>

我们也有这个上下文参数:

<context-param>
    <param-name>primefaces.UPLOADER</param-name>
    <param-value>auto</param-value>
</context-param>

答案 1 :(得分:0)

value的{​​{1}}属性应该与bean中p:fileUpload的名称相对应。

如果您将UploadedFile替换为FileUploadView.uploadedFile中的FileUploadView.file

p:fileUpload