读书人

使用primefaces的JSF做一个文件下传功

发布时间: 2012-08-28 12:37:01 作者: rapoo

使用primefaces的JSF做一个文件上传功能所遇到的问题(2)
经过了两天的折磨,上传文件的功能终于得到了解决,算是给自己一个学习的机会,使用primefaces的<p:fileUpload>功能上传文件。

1.jar包的引入, 在你的pom.xml文件里面导入 需要以下的几个文件

     primeface-2.2.RC2.jar      jsf-api-2.0.2.jar      jsf-impl-2.0.2.jar     el-api-2.2.jar     el-impl-2.2.jar     commons-io-1.4.jar     commons-fileupload-1.2.jar   


2.web.xml文件的配置,因为是在一个已有的工程里面进行

   <!-- File Upload --><filter><filter-name>PrimeFaces FileUpload Filter</filter-name><filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class><init-param><param-name>thresholdSize</param-name><param-value>2097152</param-value></init-param></filter><filter-mapping><filter-name>PrimeFaces FileUpload Filter</filter-name><servlet-name>faces-servlet</servlet-name></filter-mapping>         <servlet><servlet-name>faces-servlet</servlet-name><servlet-class>javax.faces.webapp.FacesServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>faces-servlet</servlet-name><url-pattern>*.xhtml</url-pattern></servlet-mapping>   


3.界面的代码
   <h:form id="uploadForm">      <p:fileUpload id="upload" fileUploadListener="#{blackListImportBean.handleFileUpload}"multiple="true" allowTypes="*.xls;*.xlsx" description="*.xls;*.xlsx" sizeLimit="10000000000"/>     </h:form>   


4.对应的java代码
    public void handleFileUpload(FileUploadEvent event)    {System.out.println("Handling Upload: " + event.getFile());UploadedFile upload = event.getFile();FacesContext.getCurrentInstance().addMessage("", new FacesMessage(FacesMessage.SEVERITY_INFO, "File Uploaded", "This file is " + upload));//do whatever here....     }    


上面的代码和配置是我在项目中运行并测试通过的,应该不会有其他的问题

读书人网 >JavaScript

热点推荐