一、基于浏览器当前语言的国际化
在Spring的配置文件中配置资源文件Bean
<!-- 资源文件绑定器 --> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basenames"> <list> <value>resources/messages</value> </list> </property> </bean>
粗体为资源文件的存放位置 目的是为了了将资源文件的位置传入到basenames属性中。
注意:国际化资源文件需要有共同的主名即messages,只有这样才可以将资源文件传入basenames属性。
资源文件截图如下:
messages_zh_CN.properties及messages_en_US.properties的资源文件的编码转换成unicode,经过native2ascii的编码转换即可实现,本例使用convert.bat进行简易转换
native2ascii -encoding UTF-8 messages_zh_CN.txt messages_zh_CN.properties native2ascii -encoding UTF-8 messages_en_US.txt messages_en_US.properties pause
将spring-webmvc jar包中的spring.ftl(lib\spring-webmvc\org\springframework\web\servlet\view \freemarker\spring.ftl)拷贝至ftl文件目录的include(include名可自定义)文件夹下
在html中引入spring.ftl
二、基于Session的国际化配置(在一的基础上进行配置)
首先配置拦截器
<!-- 国际化操作 拦截器 必需配置,可以和其它国际化方式通用 --> <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
再进行Session配置
<!-- 基于Session的国际化配置 --> <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
Web后台配置(一般在login页面进行语言选择),通过改变session值改变当前语言,代码如下:
// String language = "zh_CN"; // String language = "ja_JP"; // String language = "zh_CN"; // 获取veiw传入的值 String language = request.getParameter("language"); // 当language为null时,则以客户浏览器语进行言国际化 if(language != null ) { Locale locale = null; if (language.equals("zh_CN")) { // 汉语-中国 locale = new Locale("zh", "CN"); } else if (language.equals("en_US")) { // 英语-美国 locale = new Locale("en", "US"); } else if (language.equals("ja_JP")) { // 日语-日本 locale = new Locale("ja", "JP"); } else { locale = new Locale("zh", "CN"); } //以上内容是根据配置文件的配置信息实例化Locale对象。 request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, locale); }
相关推荐
最简单的Maven+SpringMVC+Freemarker入门Demo
maven管理项目+springmvc+spring+hibernate+freemarker 集成框架。其中注解格式清晰,hibernate进行了代码封装,对开发效率有了提高,对异常进行了封装。freemarker也有优化,参考common包下。对日期工具类有各种...
本人自己 搭建的 一个maven + springmvc + freemarker 框架,希望对你们 有所帮助。
springMVC+freemarker详细整合实例,供大家学习,如果下载下来的项目上有一个红色感吧号就把架包重新加一次,架包位于web-info下面的lib文件夹内
基础框架,可满足开发需要
一个基于SpringMVC+Hibernate+Freemarker 的干净的框架
整合了springmvc+FreeMarker+shiro的小Demo!
springmvc+freemarker+easyUi 框架技术代码
springMVC+freemarker框架demo,有兴趣的可以下载看看
大型商城网站源码springmvc+freemarker+velocity+ibatis,最新最前沿的技术,特别适合二次开发
简单基础,带注释的springmvc+freemarker开发登录事例
这是一个完整的springmvc + freemarker的配置,我是用myeclipse8.5配置的,下载下来就可以直接部署运行。
dubbo+zookeeper+SpringMVC+Spring+Mybatis+Freemarker集成
本人 自己搭的一个 maven+spring+springMvc+mybaits+freemarker 框架,希望对你有用,还有sql脚本。
SpringBoot版本的SpringMVC+Freemarker上传案例,地址是localhost:8888/photo/index进入上传页面,默认是三个文件,自己可以屏蔽两个文件就是单个文件的状态了,首先在电脑的D盘新建一个upload的文件夹,...
springmvc+mybatis 和一个简单的freemarker代码生成工具
完整的maven+springmvc+mybatis+freemarker+mysql框架整合
springMvc + myBatis +freemarker + maven 组合项目实例
该文档对于SpringMVC与Hibernate和Freemarker整合做了详细的阐述,通过范例使得大家对于三者整合框架的搭建有了更好的了解。
springmvc+mybatis+maven+freemarker+urlwrite+decorators