- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
struts處理中文乱码问题总结
学了很久的java,接触SSH也有一段时间了,写成博文总是有点懒,最近在整理一些思绪,把SSH一点一滴放进博客里,以备以后改进,再学习。 以我自己的了解,在进行struts开发的过程中,总也是出现很多的乱码问题 ,但归根到底,也只是以下三种情况: ㈠页面显示中文乱码 ㈡传递参数中文乱码 ㈢国际化资源文件乱码 下面就这三中情况介绍怎么在具体项目中处理这些乱码问题。而对于整体的处理思想,是要统一编码为: UTF-8.(以myeclipse6支持的struts1.3为准) ㈠页面显示中文乱码 ????? 对于在页面中显示出现乱码,这个问题比较简单,便是检查你的JSP文件里是不是出现了中文要处理,因为JSP默认的编码格式为“ISO-8859-1”,当JSP中出现要处理的中文时,其显示就出现乱码了,这种情况一般出现在手写JSP,或修改时。因为在myeclipse6.0中,如果出现了编码错误时,程序不会让你保存,而是会提示你注意编码,这点很好。具体的修改办法是把
Html代码 ?
%.@?page?language=java?import=java.util.?pageEncoding=ISO-8859-1??
%.@ page language=java import=java.util. pageEncoding=ISO-8859-1
改成:
Html代码 ?
%.@?page?language=java?import=java.util.?pageEncoding=UTF-8???
%.@ page language=java import=java.util. pageEncoding=UTF-8
㈡传递参数中文乱码 ???????? 传递参数出现的乱码,参数的内容为中文。比如在struts应用中,简单的一个登录界面中,需要传递的登录名为中文时,你没经处理之前,是会出现乱码传递的,为了让我们能看到显示的乱码,我们在对应的Action类的子类里,修改一下,用System.out把接受到的参数输出,代码如下:
Java代码 ?
public?ActionForward?execute(ActionMapping?mapping,?ActionForm?form,?HttpServletRequest?request, ??
????????HttpServletResponse?response)?...{ ??
????DynaActionForm?loginForm?=?(DynaActionForm)?form; ??
??
????String?username?=?(String)?loginForm.get(username); ??
????String?password?=?(String)?loginForm.get(password); ??
????System.out.println(username:+username); ??
????System.out.println(password:+password); ??
????if?(username.equals(ivorytower)??password.equals(123456))?...{ ??
????????return?mapping.findForward(success); ??
????} ??
????return?mapping.findForward(fail); ??
????}??
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) ...{
DynaActionForm loginForm = (DynaActionForm) form;
String username = (String) loginForm.get(username);
String password = (String) loginForm.get(password);
System.out.println(username:+username);
System.out.println(password:+password);
if (username.equals(ivorytower) password.equals(123456)) ...{
return mapping.findForward(success)
文档评论(0)