`

struts中文问题国际化问题终极解决方案

阅读更多

引文 作者 :robin 出自:java中文站
----------------------------------------
----------------------------------------
说实话,你们的方法都做的复杂了,Java本身就支持多国语言编码,不需要写任何程序,可以很简单的
实现。
秘诀就是两点:

1、所有HTML/JSP页面全部采用UTF-8编码

2、客户端浏览器完全支持UTF-8编码

步骤:
1、首先把所有的HTML/JSP的ContentType都设为UTF-8

2、然后对于JSP程序中的非ASCII码提示信息都不应该写在程序里面,都应该放在
application.properties里面统一管理。

3、对HTML用native2ascii工具统一做一次处理,把HTML中的非ASCII码都转换为Unicode编码。

4、针对不同的语言,写不同的application.properties,比如说简体中文是
application_zh_CN.properties,繁体中文是application_zh_TW.properties这样,然后对这些配置信
息文件同样用native2ascii工具处理一次,把非ASCII码统统转为Unicode编码。

5、在Servlet的request.getCharacterEncoding()获得客户端的操作系统默认编码,然后set到Struts
的HTTPSession的Locale中。

OK!现在不同的客户访问,就会显示不同的语言版本了。你可以看看此时你的浏览器的字符集,就是
UTF-8。现在你的网站和Google一样了,嘿嘿,其实你有心的话,看看你的浏览器访问Google的时候是
什么字符集吧

切记:所有的HTML/JSP都要设为UTF-8编码,所有的文件中的非ASCII码字符都要用native2ascii工具转
为用ASCII表示的Unicode编码。
----------------------------------------
----------------------------------------
原创
----------------------------------------
上面所述是我从网上下的一篇于中文问题的解决方案,确切的说应该是关于Struts的国际化问题,下面我结合我的实践谈谈具体如何实现Struts的国际化问题,我对理论不是非常精通,我只能完全凭自己的理解和实践来讲述,所以下面讲的内容可能不是非常正确,还请大家原谅。但有一点可以肯定,我通过自己的努力解决了Struts的中文问题,并实现Struts的国际化,其实一切并不复杂,下面是具体步骤:

0.遇到的问题(这些问题也许不会同时出现)
a.中文数据从数据库中到jsp中后就变成了"????"
b.做好的中文properties文件,其中的中文value在页面显示乱码
c.jsp文件中的中文到浏览器后显示时也是乱码(建议不要在jsp文件中输入中文,尽量放在properties文件中)
d.由jsp传给bean的中文值,再由bean传回页面又是乱码
e.当更换本地浏览器的语言选项时,Web应用程序不能自动根据你的locale选择合适的*.properties文件。导致Web应用程序不能国际化。
1.环境:
Web服务器: Tomcat <chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.19</chsdate>
操作系统: Win2000 Server
JVM : jdk 1.4
数 据 库: Oracle 8.1.7
开发工具: struts studio 5.2 pro for eclipse
2.先将所有*.jsp 网页中开头处加入

<%@ page language="java" contentType="text/html; charset=utf-8" %>
再设置<html:html locale = "true">

3.然后编辑好两个*.properties文件,放在classes文件夹下你指定的地方,这里是放在/web-inf/classes/com/wiley 下,它们分别是:

ApplicationResources.properties (英文资源文件)
ApplicationResources_zh.properties (中文资源文件)
随便用什么工具编写都行啊!
4.将ApplicationResources_zh.properties转码成gb2312。上面引文说要转成UTF-8,结果我试了,不行。转成gb2312就行了,操作是。
将ApplicationResources_zh.properties更名为ApplicationResources_xx.properties
在DOS命令行进入ApplicationResources_xx.properties所在的文件夹
使用命令:native2ascii -encoding gb2312 ApplicationResources_xx.properties ApplicationResources_zh.properties

分享到:
评论

相关推荐

    struts中文问题,struts国际化问题——终极解决方案

    经典的struts中文问题,国际化问题终极解决方案

    Struts2中文乱码问题最终解决方案

    关于StrutsPrepareAndExecuteFilter最新的过滤器,在Struts.xml定义常量&lt;constant name="struts.i18n.encoding" value="UTF-8"/&gt;无法解决post方式提交中文乱码问题。 关于Struts2各个版本、各种过滤器,用get方式...

    structs程序设计从入门到精通word文档

    3.3Struts-config.xml配置文件讲解 3.4struts中文问题","struts国际化问题"??终极解决方案 9 3.5为 Web 服务构建 Struts 应用程序 9 3.6Struts标记库是如何工作的 9 3.7Struts 9 3.8struts简单例子的分析(含代码...

    Java路径问题最终解决方案 —可定位所有资源的相对路径寻址

    Java路径问题最终解决方案 —可定位所有资源的相对路径寻址 通过相对classpath路径实现自由寻找资源的助手类的源代码

    论文研究 - 可持续发展框架的三大Struts:法律与治理的方法

    可持续发展框架的三个Struts是一种多学科的实施和面向解决方案的方法,该方法认识到最成功和可扩展的可持续发展解决方案需要同时存在这三个Struts并由这三个Struts共同驱动: 2)法律与治理; 3)经济和金融激励措施...

    Roller4.0的另外一套cas简单解决方案

    我把自己碰到的问题和解决方案写出来和大家探讨一下.毕竟网上关于roller4的资料少之又少.对于cas的单点集成就更是少的可怜.我试验了一下roller自带的security.xml配置的cas方案.简直报错的夸张.根本没发用.roller...

    花田考试系统MyExam 1.0.1

    1.菜单加亮防刷新技术:本系统抛弃网上流传的两种解决方案:URL标记和cookies技术,采用独到的java命令模式,真正做到菜单加亮防刷新的终极解决方案,提现了面向对象编程的艺术之美。 2.Tiles模板技术:整合struts2...

    图书馆管理系统(Java) 优秀毕业设计论文+软件设计源码.zip

    借助该系统,管理员通过快捷可靠的数据库管理,方便的管理图书馆的信息资料,规范化的管理读者用户,设定不同用户权限,并能通过互联网向读者提供更为方便的在线查询服务,方便读者的使用,最终达到提高图书馆资源...

    有关交易对手和其他金融市场参与者的全球识别标准的最终报告-研究论文

    它提出的设计为分层,维护和同步问题提供了实用的解决方案,同时避免了困扰整个行业数十年的永久性映射问题,并提出了其他建议的解决方案。 它还为进一步制定规则奠定了基础,以进一步解决尚待解决的合同和工具识别...

    warriorjs-solution:我从WarriorJS(https

    WarriorJS解决方案我从到第一座塔的解决方案。 我专注于为战士开发可以处理任何地牢布局的AI。 它还能够处理房间大小的地牢,而不仅仅是第一座塔楼的走廊。 我的AI的Struts在于记忆的实现。 战士探索地牢时,会将...

    Geom99

    在此处查看解决方案的示例: : 我的鲨鱼景点和海滩地图可在以下位置找到: : Google Maps作为开发平台 到期时间:2021年1月25日中午12:00 阅读了解作为平台的Google Maps的三个Struts:Maps,Routes和Places。...

    TCCMS开源系统 v3.1

    天信团队能为大型站点提供借鉴方案,tccms只起到一个抛砖引玉的作用,基于此框架和tccms系统上,可以解决房产、政府、学校、招商、企业、酒店预订、交友系统共、OA系统的开发。。。。 目前系统主要特色点有: 1:UI...

    mosh-ultimate-javascript-mastery-series-part-2:Mosh编写的代码-最终JavaScript精通系列-第2部分

    介绍 该存储库是在与一起学习时,在。 它包含了我在课程中的所有笔记。 它可以用作广泛JavaScript备忘单... 解决方案-秒表(2:31) 原型机(40m) 继承(2:26) 原型与原型继承(5:33) 多级继承(2:51) 属性描述

    range-v3:C ++ 141720的范围库,C ++ 20的std的基础

    与其他试图取消迭代器的类似范围的解决方案不同,在range-v3范围内,迭代器之上是抽象层。 Range-v3建立在三个Struts上:视图,操作和算法。 这些算法与您在STL中已经熟悉的算法相同,除了在range-v3中,所有算法...

Global site tag (gtag.js) - Google Analytics