Struts传值中文乱码最简解决方案


  又有一个新的项目快开始了,可能还是要用到SSH框架,于是决定重新总结一下SSH的使用,其实框架的使用还是很简单的,应该把更多的精力放到框架实现原理的学习上。

  Struts传递中文时出现的乱码问题个人认为最简洁的解决方案是做到以下三点:

  1. 将页面的 pageEncoding 设置为GBK 或 GB18030 ;

      2.在web.xml中加入过滤器;
复制代码
    <filter>
        
<filter-name>GBKEncoding</filter-name>
        
<filter-class>com.sshnews.filter.GBKEncodingFilter</filter-class>
    
</filter>
    
<filter-mapping>
        
<filter-name>GBKEncoding</filter-name>
        
<url-pattern>/*</url-pattern>
    
</filter-mapping>
    
    
复制代码
       
      3.编写过滤器代码:
复制代码
package com.sshnews.filter;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;

public class GBKEncodingFilter implements Filter {
    
private FilterConfig config = null;

    
public void init(FilterConfig arg0) throws ServletException {
        
this.config = arg0;

    }

    
public void doFilter(ServletRequest req, ServletResponse res, FilterChain fc) throws IOException, ServletException {
        
if (this.config == null) {
            
return;
        }
        
//System.out.println("filter running");
        req.setCharacterEncoding("GBK");
        fc.doFilter(req, res);
    }

    
public void destroy() {
    }

}
复制代码

        OK,这样就没问题了。个人认为这是最简洁的方法了。如果写到数据库还是乱码,请参照下面的文章
    JAVA写入Mysql中文乱码解决方法 

posted @   玉米疯收  阅读(1700)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示