使用primefaces的JSF做一个文件上传功能所遇到的问题(2)

本文详细介绍了如何利用PrimeFaces的p:fileUpload功能实现文件上传,包括引入必要的jar包、配置web.xml文件、编写界面代码及对应的Java代码。通过实践案例,展示了从配置到实现的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经过了两天的折磨,上传文件的功能终于得到了解决,算是给自己一个学习的机会,使用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....
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值