经过了两天的折磨,上传文件的功能终于得到了解决,算是给自己一个学习的机会,使用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....
}
上面的代码和配置是我在项目中运行并测试通过的,应该不会有其他的问题
分享到:
相关推荐
JSF(JavaServer Faces)是Java...对于希望学习或改进自己JSF文件上传功能的开发者来说,这是一个宝贵的资源。通过深入研究源代码,可以了解到如何处理大文件、如何优化上传性能以及如何确保上传过程的稳定性和安全性。
1. 开发自定义组件:这是解决JSF文件上传问题的一种方法,通过编写自定义组件,可以扩展JSF的功能以支持文件上传。这通常涉及到解析multipart/form-data请求,处理文件流,并将其与后台的管理Bean进行交互。 2. ...
PrimeFaces是一个流行的开源JavaServer Faces(JSF)组件库,提供了大量的UI组件和功能,使开发者能够轻松创建美观且交互性强的Web应用。 在提供的"primefaces showcase demo"压缩包中,你将找到一系列PrimeFaces...
PrimeFaces 是一个流行的开源 JavaServer Faces (JSF) 框架的组件库,它为开发者提供了丰富的用户界面组件和功能,以构建现代、交互式的Web应用程序。这个压缩包包含了PrimeFaces官方的源代码,包括官网上展示的所有...
文档的第一部分是“Introduction”,其中会说明PrimeFaces是什么,它如何帮助开发者解决在JSF开发中遇到的问题,并提高开发效率。文档会强调PrimeFaces对JSF核心功能的扩展以及如何通过简单快捷的方式实现复杂的用户...
PrimeFaces提供了大量的前端组件,包括表格、数据网格、图表、对话框、日历、文件上传/下载、滑块、树形结构等,大大简化了JSF应用的开发。通过"prime.war"文件,我们可以推断这是一个Web应用程序的归档文件,通常...