SpringMVC 国际化
来源:互联网 发布:string数组倒序 编辑:程序博客网 时间:2024/06/12 18:58
步骤1:applicationContext.xml声明:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename" value="/cn/et/lesson04/resource/I18n"></property></bean>
注意:id请使用 'messageSource',Spring容器获取这个对象时默认是以这个名字去获取的,不要乱动哈。basename指的是i18n的资源文件 , value填的是路径 + 配置文件前缀:
只加前缀就好了,zh_CN、en_GB是给程序自己识别的。
2.在控制层中装配MessageSource:
@Autowired // 自动装配 private MessageSource ms; @RequestMapping(value = "i18n" , method = RequestMethod.GET) public String i18n(HttpServletResponse response , Locale locale) throws Exception{ response.setContentType("text/html;charset=UTF-8"); response.getOutputStream().write(ms.getMessage("key", null, locale).getBytes("UTF-8")); return null; }getMessage方法是通过这个MessageSource对象获取properties中的消息,需要三个参数,第一个填消息的key,第二个可以为null,第三个是个Locale,Spring会根据请求头信息中的Accept-Language自动初始化好这个Locale,只需要在参数列表中声明即可。
资源文件:
浏览器中直接访问这个action,因为地区选的是中国(简体中文),输出结果自然是从zh_CN资源文件中获取的:
替换成en_GB:
en_GB是英式英语,美式英语则是en_US,按需求来定。输出结果:
下面做个小例子,国际化登录页面:
1.首先在需要国际化处理的页面中,引入标签库:
2.把需要国际化的地方,用message标签取出的值替换掉:
我在页面上用的是placeholder作为提示,所以直接把标签放在里边了。code属性指向的是国际化资源文件中的键:
重启一下tomcat,刷新页面即可:
将浏览器语言替换成中文,再刷新页面:
OK。
超链接实现国际化:
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
<!-- MVC本地化拦截器,中间定义localeChangeInterceptor,再定义 paramName,value就是页面超链接中的参数: ${pageContext.request.contextPath}/reg?locale=zh_CN 默认是locale --> <mvc:interceptors> <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> <property name="paramName" value="locale"></property> </bean> </mvc:interceptors>
错误消息国际化:
2.mvc-servlet.xml中实例化验证器,注入messageSource:
3.指定验证器
4.Bean配置:
5.页面声明:
bean初始化默认以类名首字母小写作为bean的名称,如果Controller中没有用ModelAttribute修改过Bean名,直接就用类名小写.验证字段即可。
6.controller:
效果:
英文环境:
OK。
阅读全文
0 0
- SpringMVC国际化
- SpringMVC国际化
- SpringMVC 国际化
- SpringMVC国际化
- SpringMVC 国际化
- SpringMVC-国际化
- springmvc 国际化
- SpringMVC国际化
- springmvc国际化
- 【SpringMVC】【国际化】
- SpringMVC国际化
- SpringMVC国际化
- SpringMVC国际化
- SpringMVC国际化
- SpringMvc国际化
- SpringMVC 国际化
- springmvc国际化
- SpringMVC国际化
- QMediaPlayer多媒体播放操作事项
- 浏览器野史 UserAgent列传
- 使用homebrew安装Java环境
- 微信公众号支付 (三、配置JS-SDK)
- ios 之文件操作NSFileMange和NSFileHandle
- SpringMVC 国际化
- SQL练习(三)
- WEP自动破解工具wesside-ng
- Spark作业执行原理
- 机器学习经典总结(转载)
- 布局
- C++继承与派生
- 安卓StepView事件进度条的简单实现
- 常用正则表达式