struts1读取请求参数乱码
来源:互联网 发布:淘宝好评返现要降权吗 编辑:程序博客网 时间:2024/05/22 13:42
今天在做Stuts1的一个简单的页面的时候,使用form bean从客户端读取请求参数的时候总是会出现乱码,有点郁闷。因为之前没有怎么看过struts1更不用说用了,找了本书了解了一下struts1处理 请求的基本流程后,我想应该是struts在读请求参数时的问题。之前用Servlet读请求参数时,在使用HttpServletRequest对象之 前都回设置请求体的编码方式,即调用request.setCharacterEncoding("请求体的编码方式"),如果不设置的话容器会使用 ISO-8859-1的编码方式来读请求体,而我的页面的编码方式是gbk,所以应该在struts读取请求参数之前设一下请求体的编码方式。查看了一下 ActionServlet的源代码发现,在doPost和doGet方法中都只是简单地调用process方法,所以新建了一个 ActionServlet的子类,重写了一下process方法。如下:
public void process(HttpServletRequest request, HttpServletResponse response)
thrwos ServletException ,IOException {
String encoding = getInitParameter("characterEncoding");//读取Servlet的初始化参数
request.setCharacterEncoding(encoding);
super.process(request, response);
}
在web.xml中把主控制器改为刚刚新建的Servlet然后在增加一个初始化参数
<init-param>
<param-name>characterEncoding</param-name>
<param-value>gbk</param-value>
</init-param>
测试一下,OK,解决了。
public void process(HttpServletRequest request, HttpServletResponse response)
thrwos ServletException ,IOException {
String encoding = getInitParameter("characterEncoding");//读取Servlet的初始化参数
request.setCharacterEncoding(encoding);
super.process(request, response);
}
在web.xml中把主控制器改为刚刚新建的Servlet然后在增加一个初始化参数
<init-param>
<param-name>characterEncoding</param-name>
<param-value>gbk</param-value>
</init-param>
测试一下,OK,解决了。
- struts1读取请求参数乱码
- struts1(7)----请求数据中的乱码问题
- Spring 请求参数乱码
- 请求参数乱码
- struts1参数传递中文乱码解决方案
- springMVC读取请求参数
- 请求参数中的乱码问题
- 处理请求参数乱码问题
- Tomcat请求参数乱码问题
- ajax请求参数乱码问题
- get请求参数乱码解决
- HTTP请求参数读取问题
- Struts1乱码
- Struts1.3-DispatchAction类-根据请求参数实现业务分派
- Struts1.x和Struts2在处理请求参数上区别
- 关于URL请求传递中文参数乱码
- (27)请求参数的中文乱码问题
- 请求参数的中文乱码问题
- 第2天:什么是名字空间
- Linux下软件安装的方法
- 第3天:定义语言编码
- 第4天:调用样式表
- mplayer使用心得
- struts1读取请求参数乱码
- 第5天:head区的其他设置
- 第6天:XHTML代码规范
- 内存管理基本技术之:边界标记
- 第7天:CSS入门
- 算法及其设计原则
- Linux中文件查找技术大全
- 欲穷千里目,更上一层楼
- 分布式