我遇到了这个问题。我有一个过滤器,根据过滤器的配置设置请求的字符编码(例如,UTF-8)。这适用于使用struts html:form标签编码的表单。但是,如果我使用普通的HTML表单标记,则数据编码不正确。
这是web.xml中的过滤器定义:
Encoding Filter
EncodingFilter
encoding
UTF-8
Encoding Filter
/*
这是过滤器:
public class EncodingFilter implements javax.servlet.Filter {
private String encoding;
public void init(FilterConfig filterConfig) throws ServletException {
this.encoding = filterConfig.getInitParameter("encoding");
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
request.setCharacterEncoding(encoding);
filterChain.doFilter(request, response);
}
public void destroy() {
}
}