`
boy_program
  • 浏览: 11027 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

primefaces文件上传乱码问题

 
阅读更多

primefaces4.0提供了强大的文件上传功能,可以轻松的实现文件上传下载。

 

primefaces上传文件只需要在web.xml中增加配置就可以了。具体配置如下:

       <filter>
	    <filter-name>PrimeFaces FileUpload Filter</filter-name>
	    <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
	    <init-param>
	        <param-name>uploadDirectory</param-name>
	        <param-value></param-value>
	    </init-param>
	</filter>
	<filter-mapping>
	    <filter-name>PrimeFaces FileUpload Filter</filter-name>
	    <servlet-name>Faces Servlet</servlet-name>
	</filter-mapping>

 其中<init-param>中的参数随便写。

 

 虽然文件上传很方便,但在用的过程中就遇到了一个问题:中文文件上传文件名乱码。找了很多资料,有人说写转换器,但最终也是最简单的办法 就是写过滤器,用来设置请求、响应的编码。

	@Override
	public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException,
			ServletException
	{
		arg0.setCharacterEncoding("UTF-8");  
		arg1.setCharacterEncoding("UTF-8");  
		arg2.doFilter(arg0, arg1); 
	}

 

    <filter>  
        <filter-name>Character Encoding Filter</filter-name>  
        <filter-class>com.lgm.common.web.CharacterEncodingFilter</filter-class>  
    </filter>  
    <filter-mapping>  
        <filter-name>Character Encoding Filter</filter-name>  
        <servlet-name>Faces Servlet</servlet-name>  
    </filter-mapping> 	

 

完成上述操作后,会发现表单提交中文正常,但上传文件的文件名还是有乱码。顿时就无语了。后来找到原因自己都一阵无语,在web.xml中,如果有多个过滤器 还是有顺序问题的。

	<!-- 字符编码过滤 -->
	<filter>  
        <filter-name>Character Encoding Filter</filter-name>  
        <filter-class>com.lgm.common.web.CharacterEncodingFilter</filter-class>  
    </filter>  
    <filter-mapping>  
        <filter-name>Character Encoding Filter</filter-name>  
        <servlet-name>Faces Servlet</servlet-name>  
    </filter-mapping> 	

	<!-- primefaces文件上传配置  -->
	<filter>
	    <filter-name>PrimeFaces FileUpload Filter</filter-name>
	    <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
	    <init-param>
	        <param-name>uploadDirectory</param-name>
	        <param-value></param-value>
	    </init-param>
	</filter>
	<filter-mapping>
	    <filter-name>PrimeFaces FileUpload Filter</filter-name>
	    <servlet-name>Faces Servlet</servlet-name>
	</filter-mapping>

 这样配置之后,中文乱码问题就解决了。

分享到:
评论

相关推荐

    primefaces

    在pom.xml文件中添加PrimeFaces的依赖即可: ```xml &lt;groupId&gt;org.primefaces &lt;artifactId&gt;primefaces 最新版本号 ``` ##### 3.2 依赖 PrimeFaces依赖于JSF,因此确保项目中已经包含了JSF的相关依赖。此外,...

    primefaces cookbook示例代码

    1. **PrimeFaces组件**:PrimeFaces提供了多种组件,如数据表(DataTable)、图表(Chart)、日期选择器(Calendar)、文件上传(FileUpload)、树形结构(Tree)、对话框(Dialog)等。在示例代码中,你可以看到...

    primefaces-3.5.zip

    这个JAR文件是PrimeFaces 3.5的核心库,包含了所有预定义的组件、行为和渲染器。开发者在项目中引入这个JAR,就能在JSF页面上使用PrimeFaces的组件。这些组件通过XML标记(如`&lt;p:commandButton&gt;`)在JSF视图层声明...

    PrimeFaces.zip

    **PrimeFaces.zip** 是一个包含SpringBoot与PrimeFaces整合示例的压缩文件。SpringBoot是一个流行的Java框架,用于简化Spring应用程序的开发,而PrimeFaces是一个功能丰富的JavaScript库,专为JavaServer Faces (JSF...

    JSF页面,<p:fileUpload组件文件上传

    本篇文章将深入探讨如何使用PrimeFaces的`&lt;p:fileUpload&gt;`组件在JSF应用中实现实时、便捷的文件上传。 首先,让我们了解`&lt;p:fileUpload&gt;`的基本用法。在JSF页面中,你可以通过以下方式引入这个组件: ```html ...

    primefaces3.5的参考文档

    JSF应用通常需要配置web.xml文件以及faces-config.xml文件,引入PrimeFaces资源并进行一些必要的设置。 为了快速上手,PrimeFaces提供了一个简单的“HelloWorld”示例,帮助开发者搭建起基本的开发环境,包括必要的...

    JSF+primefaces 网盘实现代码前端

    - 文件上传:使用PrimeFaces的FileUpload组件,处理文件上传过程,包括文件大小和类型的限制。 - 文件列表:展示用户文件和目录,可能需要使用PrimeFaces的Datatable组件来创建可排序和过滤的列表。 - 文件操作:...

    primeFaces.zip

    PrimeFaces的核心在于其丰富的组件集,这些组件包括但不限于数据网格、图表、日历、文件上传/下载、对话框、滑块、树形结构等。这些组件不仅具有丰富的功能,还支持触摸设备,因此能够适应各种屏幕尺寸。例如,`p:...

    primefaces 源代码

    1. **组件丰富**:PrimeFaces 提供了上百个预先封装好的UI组件,如数据表(DataTable)、图表(Chart)、日历(Calendar)、文件上传(FileUpload)等,这些组件都经过精心设计,易于使用且高度可定制。 2. **响应...

    PrimeFaces Cookbook

    10. 调试技巧以及在PrimeFaces开发过程中可能遇到的常见问题的解决方案。 这本书的目标读者主要是希望利用PrimeFaces提升JSF Web应用开发效率的开发人员,特别是那些希望使用PrimeFaces提供的丰富组件和功能来构建...

    PrimeFaces教程(中文)

    什么是PrimeFaces? PrimeFaces是一套开源的JSF组件套装,共有100多个支持AJAX的JSF组件。另外一个TouchFaces模块提供了用于移动web应用开发的UI工具。PrimeFaces的主要目标是为JSF创建终级组件集。 Prime技术 ...

    primefaces指南

    BlockUI用于阻止用户与页面其他部分进行交互,直到某个任务完成,例如上传文件或处理数据。 ##### 3.7 Button Button组件是一个标准按钮,可以触发动作或事件。 ##### 3.8 Cache Cache组件用于缓存数据,以减少...

    primefaces开发文档

    - FileUpload:文件上传组件,提供用户友好的方式上传文件到服务器。 - Growl:用于显示信息提示,支持自定义样式和动画效果。 除了上述组件,PrimeFaces还提供了其他丰富的组件和功能,包括布局组件、菜单组件、...

    primefaces cook book 源代码分享

    在解压文件“ova2-primefaces-cookbook-edb7312”后,我们可以发现一系列与 Primefaces 相关的源代码文件。这些文件通常包括了示例项目、组件实现、样式表和 JavaScript 文件等,它们为我们提供了一个实践性的学习...

    primefaces 中文文档

    安装 PrimeFaces 非常简单,主要步骤包括将 PrimeFaces 的 JAR 文件添加到项目的类路径中。对于 Maven 项目,可以通过在 `pom.xml` 文件中添加相应的依赖来完成这一过程。例如: ```xml &lt;groupId&gt;org.primefaces ...

    primefaces-5.0.jar

    primefaces-5.0.jar

    metawidget-primefaces-2.2.zip

    综合以上信息,我们可以看出这是一个关于使用MetaWidget与PrimeFaces集成开发JSF应用的项目,同时包含了一套用于单元测试的已知问题注释集。对于想要学习JSF、MetaWidget或PrimeFaces的开发者来说,这是一个非常有...

    primefaces-6.0.rar

    PrimeFaces是一个用于提高JSF Web应用程序开发效率的开源类库。 UI Components:PrimeFaces UI模块提供了拥有Rich Web用户体 验的各种JSF组件。PrimeFaces使用Yahoo UI库做为默认的客户端框架。PrimeFaces提供的...

    primefaces_user_guide_6_2

    9. FileUpload:允许用户上传文件到服务器。 10. Growl:这是一个用于显示通知消息的组件,类似于桌面应用程序中的弹出通知。 11. InputText、InputTextarea:这些是基础表单组件,提供了文本输入和文本区域输入...

Global site tag (gtag.js) - Google Analytics