Spring的国际化(原创)
1:在MyEclipse下面创建一个test的Web Project,然后添加Spring相关的文件,在src根目录下创建applicationContext.xml文件。
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="messages"/>
</bean>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>
</beans>
2:在src根目录下面创建4个资源文件:分别是
messages_zh.properties
main.title=你好
messages_en.properties
main.title=Hello World!
messages_ja.properties
main.title=こんにちは
messages_ko.properties
main.title=안녕하십니까
3:在WebRoot根目录下面创建test.jsp
test.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="spring" uri="WEB-INF/lib/spring.tld"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Spring国际化</title>
</head>
<body>
<spring:message code="main.title" /><br>
<input type="button" value="<spring:message code="main.title" />"/><br>
</body>
</html>
4:修改WEB-INF下面的web.xml
在web.xml加入
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:/applicationContext*,classpath*:META-INF/applicationContext*.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
这样用Spring国际化的Test.jsp页面就做好了:),此种方法是自动默认当前用户的语言,比如客户端是日语系统,就自动寻找messages_ja.properties资源文件,是英语系统,就自动寻找messages_en.properties资源文件。
注意事项:
1:用hibernate3.0,连接Mysql5.0数据库。
如果用hibernate.properties配置文件
hibernate.connection.url jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
如果用hibernate.cfg.xml配置文件
jdbc:mysql://localhost:3306/test?useUnicode=true&useUnicode=true&characterEncoding=utf-8&mysqlEncoding=utf8
2:页面的编码方式,应该选用utf-8
<%@ page language="java" pageEncoding="UTF-8"%>
3:创建的数据库的编码方式也应该选用utf-8,以及表,字段的编码方式都应选用utf-8
注意以上3点就可以解决国际化时,所出现的页面显示乱码问题,以及插入韩语时,出现的data too long for column问题.
如果用中文保存的时候可能会有问题 所以可以把中文编码为utf-8码 这样就可以直接在页面调用 编码方法如下:
中文需用java自带一个native2ascii来编成UTF-8格式的不然会有乱码:
native2ascii -encoding GBK 源文件 目标文件 (eg:native2ascii -encoding GBK messages.properties messages_zh_CN.properties)
分享到:
相关推荐
这些文件通常以ASCII编码格式编写,但有时需要处理包含中文字符的情况,这就会引发"properties中文问题"。标题提到的问题可能涉及到如何正确地在properties文件中使用中文字符,以及在读取或写入这些文件时遇到的...
由于在Tomcat发布后可能出现乱码问题,作者创建了一个批处理文件`properties2GBK.bat`,可能用到了`native2ascii`工具来将非ASCII字符转换为适合Java的字节表示,以解决中文乱码问题。 总结来说,这个开发实例展示...
此外,对于中文资源文件,需使用native2ascii工具将其转换为Unicode编码,以便在Java环境中正确显示。 5. **集成Spring**:虽然案例中未具体提及Spring的集成,但在实际开发中,通常会通过在Web应用的上下文文件...
- 使用`native2ascii`工具将中文资源文件转换为GBK编码,以避免乱码问题。 - 设置Eclipse的编码格式为GBK,确保编辑过程中不出现乱码。 #### 总结 通过以上步骤,我们不仅实现了Struts、Spring 和 Hibernate 的...
传统的做法是使用JDK自带的`native2ascii.exe`工具,将本地化的文本转换为Unicode编码,以便Java程序可以识别。这个插件使得开发者可以直接在IDE内编辑这些文本,减少了手动操作和外部依赖,提高了效率。 标签"国际...
为了防止中文乱码问题,可以使用`native2ascii`工具将文件转换为GBK编码。 ```bash native2ascii -encoding gbk ApplicationResources_zh_CN.properties temp.properties del ApplicationResources_zh_...
例如,使用`native2ascii`工具处理中文资源文件,转换编码格式。 通过以上步骤,Struts应用可以根据用户的语言偏好,动态加载相应的资源文件,实现界面的多语言支持。 综上所述,理解MVC模式、掌握Struts与...
4. **编码转换**:如果资源文件中包含非ASCII字符,如中文,可能需要使用工具(如native2ascii)进行编码转换。 5. **在视图中引用**:在JSP页面中使用Struts标签引用资源文件中的键,例如`${label.welcome}`,...
3. **编码转换**:对于非ASCII字符集(如中文),可能需要进行编码转换,例如使用命令`native2ascii -encoding gb2312 ApplicationResource_temp.properties ApplicationResource_zh_CN.properties`来生成正确的资源...
- 使用`native2ascii`命令转换中文资源文件编码,以解决字符编码问题。 - 在JSP页面中使用Struts标签来动态加载资源文件中的值。 通过上述步骤,我们可以实现Struts应用的国际化支持,使得应用能够适应不同国家和...
对于中文资源文件可能出现的乱码问题,可以通过使用`native2ascii`工具转换编码,或在Eclipse中调整properties文件的编码设置。 10. **运行与测试**: 最后,当所有配置完成后,部署应用到Tomcat服务器,用户可以...
- 如使用`native2ascii`命令行工具进行转换。 **5. JSP页面配置** - 在JSP页面中添加Struts的bean标记库,以便能够使用Struts提供的标签进行国际化文本的获取。 通过以上步骤,可以有效地实现Struts框架下的多...
- **Spring AOP**:动态代理机制支持面向切面编程。 #### 四、Java异常体系 **4.1 异常体系结构** Java中的异常体系由`Throwable`类及其子类构成,其中`Throwable`有两个直接子类:`Error`和`Exception`。 1. **...
对于中文乱码问题,可以使用`native2ascii`工具将资源文件转换为GBK编码。创建一个批处理文件,执行这个转换过程,确保在IDE中设置正确的编码格式。 完成上述步骤后,SSH框架的基本结构就搭建好了。接下来,我们...
- 另外,确保新建的文件默认编码也是UTF-8,可以勾选`Transparent native-to-ascii conversion`,这样新创建的`.properties`文件会自动转换为ASCII格式,但仍保持可读性。 2. **配置文件编码声明**: - 在`...
ISO-8859-1扩展了ASCII,支持更多西欧语言。GB2312和GBK是中国大陆常用的汉字编码,分别包含6763和21003个汉字。UTF-16和UTF-8都是Unicode的实现,UTF-16用固定2字节表示字符,而UTF-8则采用变长编码,节省存储空间...
- native2ascii:用于编码转换,将Unicode编码的中文转换为ASCII编码,或反之。 - javap:反编译class文件,查看Java字节码。 - jdb:Java调试器,用于调试Java程序。 - jps:列出当前运行的Java进程。 - ...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...