使用过滤器Filter过滤struts1的中文乱码
第一步:先设定jsp页面或html页面的编码
jsp:<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
html:<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
第二步:我们来看看web文件的配置
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>hr.util.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>enable</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>
第三步:生成Filter文件
package hr.util;
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import java.io.IOException;
public class CharacterEncodingFilter implements Filter {
private FilterConfig filterConfig;
private String encoding;
private boolean enable;
public CharacterEncodingFilter() {
encoding = "UTF-8";
enable = false;
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
loadConfigParams();
}
private void loadConfigParams() {
encoding = filterConfig.getInitParameter("encoding");
String strIgnoreFlag = filterConfig.getInitParameter("enable");
if (strIgnoreFlag.equalsIgnoreCase("true")) {
this.enable = true;
} else {
this.enable = false;
}
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (enable) {
request.setCharacterEncoding(encoding);
}
chain.doFilter(request, response);
}
public void destroy() {
filterConfig = null;
encoding = null;
}
}
通过以上的方法,在struts中就再也不用担心乱码问题了,也不用再在每个页面中写 request.setCharacterEncoding("UTF-8")了
分享到:
相关推荐
Struts1.x 系列教程聚焦于解决在使用Struts1.x框架开发应用程序时遇到的各种问题,本篇主要关注的是属性(资源)文件乱码问题的解决方案。在国际化和多语言支持的应用中,属性文件是存储不同语言文本的关键组件。...
本篇文章将详细探讨在Struts2.x中两个Action之间传递值的技术细节。 1. **Action之间的传值方案** - **方案一:Chain(链式调用)** Chain结果类型允许一个Action直接将控制权交给另一个Action,而无需重新发起...
当Struts2应用在JSP页面中尝试加载并显示这些文本时,可能会遇到乱码问题,尤其是在处理中文等非英文字符时更为常见。 乱码问题的根源在于字符编码的不匹配。当资源文件的编码格式与JSP页面或服务器解析时所使用的...
本DEMO是为了解决Struts2在处理中文输入时可能出现的乱码问题,确保系统能够正确地接收和显示中文字符。 首先,我们要理解乱码产生的原因。在Web应用中,数据的传输通常涉及多种编码方式,如HTTP请求的默认编码通常...
总结来说,解决Struts框架下Ajax发送中文乱码问题的关键在于: 1. 确保Ajax请求时设置正确的`Content-Type`,以UTF-8编码发送数据。 2. 在Struts配置文件中配置`CharacterEncodingFilter`或在Action中手动设置请求...
综上所述,解决Struts文件下载中文乱码问题的关键在于统一编码方式,确保URL编码、解码和HTTP响应头中的字符集设置正确。通过以上步骤,可以有效地避免中文文件名在下载过程中出现乱码的情况。同时,注意文件的读取...
### J2EE中Struts框架下解决中文乱码问题的四种方法 在Java Web开发过程中,尤其是使用Struts框架时,经常会遇到中文乱码的问题。本文将详细介绍在J2EE环境下,利用Struts框架解决中文乱码问题的四种实用方法。 ##...
在网上找了半天,看见两偏整合教程不错,把两偏整理成一偏供参考。 别人一个文档就要10分才能下,本人分不多了,扣大家5分来赚取回来。...Ckeditor3.X与ckfinder2.X整合forJAVA (支持文件上传,解决中文乱码)
【Struts和Ajax乱码解决方案】 在Web开发中,乱码问题始终是一个常见的困扰,特别是对于使用Struts和Ajax技术的开发者来说。乱码问题主要出现在数据的输入、传输和展示过程中,涉及到编码格式的选择和一致性。以下...
综上所述,解决`prototype.js`发送Ajax GET请求中文参数乱码问题的关键在于确保客户端、服务器和传输过程中的编码一致性。这包括设置请求头、服务器配置以及HTML页面的字符集声明。在实际开发中,理解并处理这些细节...
### Struts乱码问题解析与解决方案 在Java Web开发中,尤其是使用Struts框架时,乱码问题是开发者常遇到的挑战之一。乱码通常出现在页面显示或后台处理数据时,表现为字符编码不一致导致的数据展示错误。本文将深入...
在进行Web开发时,我们经常会遇到Ajax GET请求发送中文参数时出现乱码的问题...在提供的压缩包文件`strtus-ajax-by-get-zh-garbled`中,可能包含了关于Struts框架下解决Ajax GET请求中文乱码的示例代码,可以参考学习。
总之,要解决Struts+Hibernate+MyEclipse+Tomcat+MySQL环境中的乱码问题,你需要检查并设置以上提到的所有环节的编码,确保它们统一为UTF-8。通过这种方法,可以有效地避免乱码的出现,从而提供良好的用户体验。在...
3. **JSP和Struts的乱码解决方案** - 使用过滤器(如`SetCharacterEncodingFilter`)设定请求和响应的编码为UTF-8,确保数据在传输过程中不会出现乱码。 - 对于JSP页面,可以在页面顶部添加`;charset=UTF-8" %>`来...
为了解决中文乱码问题,需要配置CharacterEncodingFilter,设定字符编码为UTF-8,确保数据的正确解析。最后,配置Struts2的过滤器StrutsPrepareAndExecuteFilter,用于处理所有的HTTP请求。 然后,在Struts的配置...
总之,在使用Struts2进行Web开发时,通过合理使用encodeURI和URLDecoder工具类,可以有效解决通过JSON传值时出现的中文乱码问题。这要求开发人员在前端JavaScript代码和后端Java代码中都进行适当的编码和解码操作,...
在本文中,我们将深入探讨如何使用MyEclipse开发和运行基于Struts1的程序,以及解决可能出现的ActionForm乱码问题。 首先,我们要实现的功能是一个名为mystruts的程序,该程序用于录入和查询产品信息。程序包含以下...
### Struts乱码问题详解与解决方案 #### 一、引言 在Web开发过程中,特别是在使用Struts框架进行开发时,经常会遇到字符编码的问题,尤其是中文字符的乱码问题。本文将详细介绍Struts中常见的乱码现象,并提供具体...