您的位置:首页 > 编程语言 > Java开发

Struts2(一)接收参数

2015-06-17 17:59 363 查看
        应用struts2的工程都会在action里面定义指定属性的setter方法和getter方法以便接收参数。一般呢会以http://localhost:8080/工程名/...?参数1=参数1的值&参数2=参数2的值的方式发生请求。在接收请求参数的时候struts2的拦截器会找到同名的属性;如果属性值为空,即为null,struts2会利用反射技术调用默认构造器对属性进行实例化。如果对于的实体类没提供默认构造器,在要输出属性值的jsp页面就不能输出相应的属性值。

中文乱码

由于struts2.1.6在获取并使用了请求参数后才调用HttpServletRequest的setCharactetEncoding()方法进行编码设置,导致应用使用的就是乱码请求参数。这个bug在struts2.1.8中已经被解决。解决struts2.1.6接收中文请求参数乱码问题的解决办法:创建一个过滤器,把这个filter放置在struts2的filter之前,然后在doFilter()方法里添加以下代码
HttpServletRequest req = (HttpServletRequest)request;

req.setCharacterEncoding("UTF-8");//根据你使用的编码替换UTF-8
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: