jsp+struts2解决中文乱码问题
添加此类:
1 import javax.servlet.*; 2 import java.io.IOException; 3 4 /** 5 * @author Dong 6 * @date 2021/11/18 15:06 7 * @descripton 编码过滤器 8 */ 9 public class EncodingFilter implements Filter { 10 11 private String charset; 12 13 @Override 14 public void init(FilterConfig config) throws ServletException { 15 this.charset = config.getInitParameter("charset"); 16 } 17 18 @Override 19 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 20 //用init方法取得的charset覆盖被拦截下来的request对象的charset 21 request.setCharacterEncoding(this.charset); 22 //将请求移交给下一下过滤器,如果还有的情况下。 23 chain.doFilter(request, response); 24 } 25 26 @Override 27 public void destroy() { 28 29 } 30 }
其次再配置web.xml,将上面添加的类加入进去:
1 <filter> 2 <filter-name>EncodingFilter</filter-name> 3 <filter-class>com.*.EncodingFilter</filter-class> 4 <init-param> 5 <param-name>charset</param-name> 6 <param-value>UTF-8</param-value> 7 </init-param> 8 </filter> 9 <!-- 对哪些起作用,对jsp还是servlet --> 10 <filter-mapping> 11 <filter-name>EncodingFilter</filter-name> 12 <!-- 配置一下,让谁使用Filter,这里配置的是对所有的jsp起作用 --> 13 <url-pattern>*.action</url-pattern> 14 </filter-mapping>
浙公网安备 33010602011771号