Struts2笔记 - 09 请求参数的接收

本文介绍Struts2框架中如何通过Action类的基本类型属性自动接收HTTP请求参数,并解决中文参数乱码的问题。针对Struts2.1.6版本的一个已知bug进行了详细说明,提供了自定义过滤器的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

采用基本类型接收请求参数(get/post)
在Action类中定义与请求参数同名的属性,struts2便能自动接收请求参数并赋予给同名属性

请求路径:http://localhost:8080/test/view.action?id=78

pulblic class DemoAction{
 private int id;
 public void setId(int id){//struts2通过反射技术调用与请求参数同名的属性的setter方法来获取请求参数值}
 public int getId(){return this.id;}
}

 struts2.1.6中存在一个bug 即:接收到的中文球球参数为乱码(post提交) 原因是struts2.1.6在获取并使用了请求参数后才调用HttpServletRequest的setCharacterEncoding()方法进行编码设置 导致应用使用的就是乱码请求参数 .如要解决这个问题可以新建一个filter把这个filter放在struts2的filter之前然后在doFilter()方法里添加以下代码

HttpServletRequest req=(HttpServletRequest)request;
req.setCharacterEncoding("utf-8");
filter.chain.doFilter(request.response);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值