SpringMVC简单实现国际化/多语言 柔情只为你懂 2022-06-17 13:47 280阅读 0赞 > SpringMVC 可以通过Spring框架来实现多语言 ## 1. 创建SpringMVC项目 ## * 配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <!--Spring 配置文件--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <!--监听器--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!--配置转发器--> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> * 配置Spring文件(dispatcher-servlet.xml) <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- 默认使用基于注释的适配器和映射器 --> <mvc:annotation-driven/> <!-- 只把动态信息当做controller处理,忽略静态信息 --> <mvc:default-servlet-handler/> <!-- 自动扫描包中的Controlller --> <context:component-scan base-package="controller"/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/jsp/"/><!-- 前缀 --> <property name="suffix" value=".jsp"/><!-- 后缀,自动拼接 --> </bean> </beans> ## 2. 添加多语言的配置文件 ## * 添加language\_en\_US.properties到src目录下 language.cn = \u4e2d\u6587 language.en = English internationalisation = \u0020Internationalisation welcome = This is the English environment introduce= This is I18N Demo * 添加language\_zh\_CN.properties到src目录下 language.cn = \u4e2d\u6587 language.en = English internationalisation = \u56fd\u9645\u5316 welcome = \u8fd9\u662f\u4e2d\u6587\u73af\u5883 introduce= \u8fd9\u662f\u56fd\u9645\u5316\u7684\u4e8b\u4f8b ## 3. 加入i18n 过滤器到配置文件中 ## * 将配置添加到dispatcher-servelet中 <!-- 国际化资源文件 --> <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <!-- 表示多语言配置文件在根路径下,以language开头的文件--> <property name="basename" value="classpath:language"/> <property name="useCodeAsDefaultMessage" value="true"/> </bean> <mvc:interceptors> <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> <property name="paramName" value="lang"/> </bean> </mvc:interceptors> ## 4. 在页面中使用多语言 ## * 在Controller中添加路径 @Controller public class HelloController { @RequestMapping("/hello.action") public String index() { return "hello"; } } * 在JSP页面中使用 > 通过 `<spring:message code="welcome"/>`将配置文件中的内容读取 <%@ page language="java" contentType="text/html; charset=UTF-8"%> <%@taglib prefix="spring" uri="http://www.springframework.org/tags" %> <html> <head> <title>SpringMVC<spring:message code="internationalisation"/></title> </head> <body> Language: <a href="?lang=zh_CN"><spring:message code="language.cn"/></a> <a href="?lang=en_US"><spring:message code="language.en"/></a> <h1> <spring:message code="welcome"/> </h1> 当前语言: ${pageContext.response.locale } </body> </html> * 访问该项目的`/hello.action`,通过链接可以切换语言 -------------------- * 中文 ![cn][] * 英文 ![en][] * 项目结构 ![项目结构][SouthEast] -------------------- ## [效果演示][Link 1] ## ## [项目下载][Link 2] ## [cn]: /images/20220617/a46cdd6c5a9c48eb9e42e2f3851be49d.png [en]: /images/20220617/7fd6a83d343a41c18118118375dfea8a.png [SouthEast]: /images/20220617/06d1e15892a64cc9ba5702a68cebfd38.png [Link 1]: http://project.hellowood.com.cn:8080/i18n/ [Link 2]: http://download.csdn.net/detail/u013360850/9827744
相关 多语言支持:Java实现国际化应用及多语言资源管理 在Java中,实现国际化应用以及多语言资源管理主要涉及到以下几个方面: 1. **Resource Bundle**: Java提供了Resource Bundle A ╰半橙微兮°/ 2024年09月12日 06:45/ 0 赞/ 14 阅读
相关 【android studio 简单配置多语言国际化app 一行代码实现切换语言】 文章目录 前言 一、语言文件 二、一行代码切换语言 1.切换语言 2.保存语言状态 3.界面闪动解决之返回主界面 喜欢ヅ旅行/ 2023年10月12日 16:11/ 0 赞/ 6 阅读
相关 uni-app 多语言,国际化 问题描述:因为做到项目有海外用户所以需要配置多语言满足客户需求。 解决方法:在uni-app里有内置i18n多语言的配置,并且uni-app里的组件可是可以支持跟随设置语言进 向右看齐/ 2022年08月28日 10:40/ 0 赞/ 230 阅读
相关 SpringMVC实现国际化 在这里通过案例说明: 1. 在项目src向新建一个message文件夹,该文件夹下面有message\_en\_US.properties和message\_z 谁践踏了优雅/ 2022年08月06日 04:16/ 0 赞/ 211 阅读
相关 SpringMVC简单实现国际化/多语言 > SpringMVC 可以通过Spring框架来实现多语言 1. 创建SpringMVC项目 配置web.xml <?xml version="1.0 柔情只为你懂/ 2022年06月17日 13:47/ 0 赞/ 281 阅读
相关 struts2实现国际化,多语言切换 \\\Struts2实现国际化,多语言切换 根据struts2中的i18n 实现多语言切换、 \\\\项目截图 ![这里写图片描述][aHR0cDovL2ltZy5 雨点打透心脏的1/2处/ 2022年06月15日 09:48/ 0 赞/ 252 阅读
相关 Qt国际化 -- 多语言 [国际化][Link 1] [Qt多语言切换][Qt] [Qt:QML生成翻译中间文件ts][Qt_QML_ts] [Link 1]: http://shouce. 雨点打透心脏的1/2处/ 2022年05月23日 22:22/ 0 赞/ 172 阅读
相关 QT实现多语言/动态切换(国际化) 多国语界面的实现,在MFC中是很别扭的。以前在作MFC时,实现多国语言的界面,只有把资源文件做成各个语言的资源DLL,在程序启动时,根据选择判断选择载入哪个DLL来获取资源。M 谁践踏了优雅/ 2022年04月14日 03:21/ 0 赞/ 771 阅读
相关 国际化多语言 [官网介绍][Link 1] [NSLocalizedString 使用说明][NSLocalizedString] 一、国际化多语言的介绍 App 国际化多语言,就是 た 入场券/ 2022年01月05日 09:17/ 0 赞/ 353 阅读
还没有评论,来说两句吧...