日期:2014-05-16 浏览次数:20325 次
之前做了个jsp注册用户的,在struts.xml中配置了编码,在web.xml也配置了spring的过滤编码,但是都没有用,后面就写了过滤器,配置在web.xml中就可以了。
EncoderFilter.java
public class EncodeFilter extends StrutsPrepareAndExecuteFilter { private FilterConfig config = null; private String encoding = null; @Override public void init(FilterConfig config) throws ServletException { this.config = config; } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (encoding == null) { encoding = config.getInitParameter("encoding"); } request.setCharacterEncoding(encoding); response.setCharacterEncoding(encoding); chain.doFilter(request, response); } @Override public void destroy() { config = null; encoding = null; } }
<filter> <filter-name>encodeFilter</filter-name> <filter-class>com.smc.util.EncodeFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodeFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>