用jquery进行Ajax时,回调函数是乱码,后台用response.setContentType("text/html;charset=utf-8");就能解决,可不想每个action里都写这个,在过滤器里应该怎么写?
注:我用spring的MVC。

解决方案 »

  1.   

    忘了,好久没用了,想尽快解决就移到jsp专区吧
      

  2.   

    你这个功能每个action都要用吗 
    过滤器可以使用spring自带的一个过滤器试试看
      

  3.   

    一个简单的过滤器
    action的代码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 CharacterEncodingFilter implements Filter { public void destroy() {
    } public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    request.setCharacterEncoding("utf-8");
    chain.doFilter(request, response); } public void init(FilterConfig config) throws ServletException {
    }}web.xml 配置<?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
            http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>
    org.whatisjava.dang.filter.CharacterEncodingFilter
    </filter-class>
    </filter>
    </web-app>