Primefaces fileUpload控件使用
Posted on: 2013-11-28, Last modified: 2015-07-31, View: 2836
Posted on: 2013-11-28, Last modified: 2015-07-31, View: 2836
<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"无法正常调用,也就是控件不可用。