【www.gdgbn.com--Action】

jsp教程 中 actionform中文乱码问题解决方法

先我们来了解一下actionform

actionform概念
  actionform用于封装用户的请求参数,而请求参数是通过jsp页面的表单域传递过来的。因此应   保证actionform的参数,与表单域的名字相同。
编辑本段actionform配置
  所有的actionform都被配置在struts-config.xml文件中,该文件包括了一个form-beans的元素,   该元素内定义了所有actionform,每个actionform对应一个form-bean元素。

jsp页面接收actionform的属性时,如果输入的是中文,那么在actionform接收后会是乱码

解决方案有2个:

1.在action类中解决,这个我试过,不可行
 

2.在actionform中解决,这个我试过,可行,而且很方便

在actionform中的reset方法中加入如下代码即可,可输出英文或中文

 

view sourceprint?1 public void reset(actionmapping mapping, https教程ervletrequest request) { 

2         try { 

3             request.setcharacterencoding("gbk"); 

4         } catch (exception e) {  

5             // todo: handle exception 

6         } 

7     }

那么在action就可以输出中文的属性了

 

view sourceprint?1 public actionforward execute(actionmapping mapping, actionform form, 

2             httpservletrequest request, httpservletresponse response) { 

3           

4         personalform personalform = (personalform) form;// todo auto-generated method stub 

5         system.out.println(personalform.getusername()); 

6         system.out.println(personalform.getpassword()); 

7         return mapping.findforward("step2"); 

8     }

本文来源:http://www.gdgbn.com/flash/28680/