Struts国际化问题解决

2008-02-23 10:05:03来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

1.解决JSP页面中的中文问题:
在每个jsp头都加上<%@ page contentType="text/html;charset=GBK" language="Java" %>,有需要的话也可以再加上<html:html locale="true"></html:html>表示使用本地编码。

2.解决资源包中的中文问题
jsp要调用资源包中的信息,我们需要这些信息是中文的,但是资源包中是不能直接写入中文的。否则会有乱码。

步骤:1) 先将资源包的信息写成自己需要的中文信息,保存成ApplicationResources_zh.properties
2) 运行cmd到资源包所在目录,运行JDK命令:native2ascii -encoding gb2312 ApplicationResources_zh.properties temp.txt
运行后会将编码转换成ascii,储存在temp.txt。复制temp.txt中的内容,用它覆盖ApplicationResources_zh.properties原来的内 容。
3) 不需要更改Struts-config.XML中的资源包设置,它会根据浏览器的设置判断,选择相应的资源包。比如在IE的工具-INTERNET选项- 语言,选择你需要的语言。你可以选择多种语言,但系统会根据先后关系选择资源包。如果把中文放在前面,系统就会使用ApplicationResources_zh.properties的资源包。

3.解决页面数据传输的中文问题
jsp中将中文传给bean,再由bean传给jsp,在页面显示出来是乱码。
在Web.XML中加入字体类,内容如下:
<!--SET CHARACTOR ENCODING-->
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
这里使用到一个字体类,SetCharacterEncodingFilter,在jsp-examples中可以找到,也可以参照里面的例子。你可以将那里的filters文件拷贝到你的classes下面。这里需要注意的是 <url-pattern>的内容,很多网页里把这里写成action。但是若这样写的话,是找不到项目的。所以,我把它写成*.do。如果是简单的javabean,则可以写成/*。

4. get方式的解决方法(struts不需要这个设置,只是附带说明而已)
打开tomcat的server.xml文件,找到区块,加入如下一行:
URIEncoding=”GBK”
完整的应如下:

<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>

上一篇: java.lang.Byte翻译
下一篇: commons-fileupload用户指南(文档翻译)

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:教你如何使用JSP面向对象web编程技术实现树形控件

下一篇:Borland加强对开放源代码平台Eclipse支持