SpringMVC国际化
来源:互联网 发布:淘宝家具店网页模板 编辑:程序博客网 时间:2024/05/16 13:54
基于session国际化
1.jsp页面代码
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<a href="index.do?langType=zh">中文</a> | <a href="index.do?langType=en">英文</a><br/> <h3><spring:message code="title"/> </h3> <form action="login.do" method="post"> <table> <tr> <td><spring:message code="loginname"/></td> <td><input type="text" id="name" name="name"></td> </tr> <tr> <td><spring:message code="password"/></td> <td><input type="text" id="password" name="password"></td> </tr> <tr> <td><input type="submit" id="submit" value="<spring:message code="submit"/>"></td> </tr> </table> </form>2.国际化资源文件
loginname =login name;password =login name;submit = submit;welcome =login name welcome;userName = administrator;
loginname = \u5E10\u53F7password = \u5BC6\u7801submit = \u63D0\u4EA4welcome = \u6B22\u8FCE\u6765\u5230\u82F1\u96C4\u8054\u76DFuserName =\u5F20\u4E1C\u5761title = \u5F20\u4E1C\u57613.配置springmvc-config.xml
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <!-- 国际化信息所在的文件名 --> <property name="basename" value="com/baidu/model/messages" /> <!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 --> <property name="useCodeAsDefaultMessage" value="true" /> </bean> <mvc:interceptors> <!-- 国际化操作拦截器 如果采用基于(请求/Session/Cookie)则必需配置 --> <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" /> </mvc:interceptors> <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
关于路径
第一种将资源文件放在源码里面:
那么配置文件信息如下:
<!-- 读取国际化资源文件 == 资源文件在包里面,路径写全包名-->
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>cn/ddx/i18n/messages</value>
</list>
</property>
</bean>
那么配置文件信息如下:
<!-- 读取国际化资源文件 == 资源文件在WEB-INF下面 ,可以配置多个 --><bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>/WEB-INF/lang/messages</value>
</list>
</property>
</bean>
需要注意的是两者配置的class不同,红色字体部分!
配置文件路径中的“messages”为资源文件名称中_en_US.properties的前面部分,可以自定义。
4.java代码
@RequestMapping("/index.do") public String userlist(Model model,User user,HttpServletRequest request,@RequestParam(value="langType", defaultValue="zh") String langType) { if(langType.equals("zh")){ Locale locale = new Locale("zh", "CN"); request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale); } else if(langType.equals("en")){ Locale locale = new Locale("en", "US"); request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale); } else request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,LocaleContextHolder.getLocale()); RequestContext requestContext = new RequestContext(request); model.addAttribute("loginname", requestContext.getMessage("loginname")); model.addAttribute("submit", requestContext.getMessage("submit")); model.addAttribute("command", user); return "/NewFile"; }
0 0
- SpringMVC国际化
- SpringMVC国际化
- SpringMVC 国际化
- SpringMVC国际化
- SpringMVC 国际化
- SpringMVC-国际化
- springmvc 国际化
- SpringMVC国际化
- springmvc国际化
- 【SpringMVC】【国际化】
- SpringMVC国际化
- SpringMVC国际化
- SpringMVC国际化
- SpringMVC国际化
- SpringMvc国际化
- SpringMVC 国际化
- springmvc国际化
- SpringMVC国际化
- 香港大学推荐的50本经典书籍
- php rsa加密解密实例
- do{...} while(0)
- lintcode——在O(1)时间复杂度删除链表节点
- RK3399 uboot MIPI屏调试总结
- SpringMVC国际化
- 删除链表中等于给定值val的所有节点
- html meta中的viewport指令
- C/C++面试重点
- $.post()的dataType类型参数与Javascript的eval()函数
- GeekBand C++ 设计模式 第二周笔记
- java实现二维码生成及调用打印机打印
- maven报错
- php des 加密解密实例