Struts ActionForm 中文乱码

来源:百度知道 编辑:UC知道 时间:2024/07/07 20:10:49
每次转 都转的挺麻烦的..
谁知道那个传说中过滤器 过滤乱码怎么用?filter?
是否一次修改全局都生效?

由于Struts框架直接把表单数据发送给了ActionForm,所以这里面没有对HttpRequestServlet进行SetCharacterEncoding,所以默认是按照ISO-8859-1(参见Tomcat 源代码中的org.apache.catalina.connector.HttpRequestBase中的protected void parseParameters()方法),

解决的方法,就是在表单提交到ActionForm之前对request进行编码。
第一种方法,就是写一个过滤器,对所有请求进行过滤

--------------------------------------------------------------------------------
过滤器代码:

/*
* @author 史亚军 ,创建日期 Dec 5, 2006
*
* Blog : http://blog.csdn.net/runnerupshi/
*/

package com.first.struts.filters;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class SetCharacterEncodingFilter implements Filter {