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 }