Primefaces fileUpload控件使用
Posted on: 2013-11-28, Last modified: 2015-07-31, View: 1534

<pf:fileUpload/>这个控件比较特殊,不是有了primefaces包就可以直接使用需要一些配置:

1. 首先primefaces依赖包必须有,maven依赖比如:

<dependency>
     <groupId>org.primefaces</groupId>
     <artifactId>primefaces</artifactId>
     <version>4.0</version>
</dependency>

2. 添加apache io和fileupload依赖包:

<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.2.1</version>
</dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-io</artifactId>
    <version>1.3.2</version>
</dependency>

3. 在项目的web.xml 文件里添加fileUpload的过滤器,而且你需要保证在这个前面没有其他filter调用getParameter(), getParameterMap(), getReader(),因为request body只能被调用一次, 如果前面被调用过, 那么fileUpload filter就会拿到一个空的body:

    <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>

 

缺少2、3步骤的结果就是使用<pf:fileUpload/>控件能够正常展示,但是提交以后"fileUploadListener"无法正常调用,也就是控件不可用。

Go
Friend Links:
Bill Site
https://item.taobao.com/item.htm?spm=a21an.7676007.1998473182.296.lAvrE2&id=45399580446