一起学SpringMVC之国际化
随着网络的发展,在Web开发中,系统的国际化需求已经变得非常的普遍。本文主要讲解SpringMVC框架对多语言的支持,仅供学习分享使用,如有不足之处,还请指正。 什么是国际化?国际化(internationalization)又称为 i18n(读法为i 18 n,据说是因为internationalization(国际化)这个单词从i到n之间有18个英文字母,i18n的名字由此而来),即能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 SpringMVC支持国际化步骤1. 创建国际化资源文件如下所示,国际化资源文件*.properties格式的文件,文件命名必须符合【base_语言_地区.properties】的命名规范,缺省为【base.properties】即,如果没有对应的语言的资源文件,则从默认文件中查找。 1 //默认文件 2 /ThirdSpringMvc/src/i18n.properties 3 英文-美国 4 /ThirdSpringMvc/src/i18n_en_US.properties 5 中文-中国 6 /ThirdSpringMvc/src/i18n_zh_CN.properties 2. 国际化资源文件的内容国际化资源文件内容是以键值对【key=value】的格式存储的,且如果是中文,则显示对应的Ascii码如下所示: hi=u4F60u597D me=u6211 love=u7231 study=u5B66u4E60 mvc=SpringMVC 3. 在SpringMVC默认配置文件【dispatcher-servlet.xml】文件中增加国际化支持如下所示:基名为i18n是默认通用的命名方式。 备注:bean的id必须是messageSource,否则对应不上 1 <!-- 加载国际化资源文件 --> 2 <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> 3 <property name="basename" value="i18n"></property>4 property name="basenames"5 list6 value>i18n</7 8 property9 bean> 4. 在JSP中文件中增加jstl支持如下所示:通过<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>引入标签支持 <%@ page language="java contentTypetext/html; charset=UTF-8 pageEncodingUTF-8"%> @ taglib urihttp://java.sun.com/jsp/jstl/fmt prefixfmt" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"htmlheadmeta http-equiv="Content-Type" content="text/html; charset=UTF-8"title>Insert title herebodyfmt:message key="hi"></fmt:message="me"="love"="study"="mvc"5. 测试,打开设置语言选项 |