国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring MVC(三) 國際化

這篇具有很好參考價值的文章主要介紹了Spring MVC(三) 國際化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


隨著全球化的加速發(fā)展,Web應用的多語言支持變得越來越重要。對于開發(fā)者來說,如何實現(xiàn)應用的國際化成為了一個不可忽視的問題。作為Java Web開發(fā)的重要框架,Spring MVC在處理國際化方面有著豐富的功能和靈活的解決方案。本文將探討Spring MVC的國際化部分內(nèi)容,并通過自己的在工作中的真實使用體驗來幫助大家理解和應用這些功能。

1、添加相關(guān)依賴

如果是Maven項目中,可以在pom.xml文件中添加以下依賴:

<dependency>  
    <groupId>org.springframework</groupId>  
    <artifactId>spring-webmvc</artifactId>  
    <version>5.3.10</version>  
</dependency>  
<dependency>  
    <groupId>org.springframework</groupId>  
    <artifactId>spring-context-support</artifactId>  
    <version>5.3.10</version>  
</dependency>

2、配置MessageSourceBean

在Spring的配置文件applicationContext.xml中,可以通過以下兩種方式進行注入并加載資源文件。

方式一:ReloadableResourceBundleMessageSource

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">  
	    <property name="basename" value="classpath:messages/messages"/> <!-- 消息資源文件的基本名稱 -->  
	    <property name="defaultEncoding" value="UTF-8"/> <!-- 默認編碼 -->  
</bean>

方式二:ResourceBundleMessageSource

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">  
	    <property name="basename" value="messages/messages"/> <!-- 消息資源文件的基本名稱 -->  
	    <property name="defaultEncoding" value="UTF-8"/> <!-- 默認編碼 -->  
</bean>

另外還可以通過代碼的方式進行bean的引入

@Bean  
public MessageSource messageSource() {  
    ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();  
    messageSource.setBasename("classpath:messages/messages"); // 消息資源文件的位置  
    messageSource.setDefaultEncoding("UTF-8"); // 設置默認編碼  
    return messageSource;  
}

3、添加消息資源文件

src/main/resources的位置下創(chuàng)建消息資源文件夾messages,用于存儲不同語言的消息。
例如,在messages文件夾下新建messages_en.properties的英文消息資源文件和messages_zh_CN.properties的中文消息資源文件。在文件中定義消息鍵和對應的值。 注意:存放位置可根據(jù)自己項目規(guī)范進行修改

英文 messages_en.properties

001=hello word!

中文 messages_zh_CN.properties

001=你好,世界!

默認 messages.properties

001=你好,世界!

4、消息工具類(代碼應用)

創(chuàng)建MessageUtil.java工具類

package com.cloud.core.util;

import java.util.Locale;

import org.springframework.context.MessageSource;

import com.cloud.core.holder.ContextHolder;

public class MessageUtil {

	private static MessageSource messageSource;

	//ContextHolder為Spring容器上下文信息類,可通過繼承ContextLoaderListener進行獲取
	static {
		messageSource = (MessageSource) ContextHolder.getBean("messageSource");
	}
	/**
	 * @Comments :獲取消息
	 * @param code 在*.properties文件中的消息鍵
	 * @param locale 本地化語言,也可根據(jù)需要進行擴展
	 * @return
	 * @Author :程序員云筆記
	 * @Date :2024年1月5日 上午11:00:29
	 */
	public static String getMessage(String code, Locale locale) {
		return messageSource.getMessage(code, null, locale);
	}
	/**
	 * @Comments :獲取消息
	 * @param code 在*.properties文件中的消息鍵
	 * @param args 參數(shù)數(shù)組,其中的參數(shù)將被填充,用于替換消息中的{0}、{1},詳見java.text.MessageFormat
	 * @param locale 本地化語言,也可根據(jù)需要進行擴展
	 * @return
	 * @Author :程序員云筆記
	 * @Date :2024年1月5日 上午11:01:30
	 */
	public static String getMessage(String code, Object[] args, Locale locale) {
		return messageSource.getMessage(code, args, locale);
	}
}

//以下是此工具類用到的部分代碼
public class WebAppContextListener extends ContextLoaderListener {
	
	public void contextDestroyed(ServletContextEvent event) {

	}

	public void contextInitialized(ServletContextEvent event) {
		super.contextInitialized(event);
		WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext());
		ContextHolder.setContext(context);
	}
}

public class ContextHolder {
	private static ApplicationContext context;

	public static void setContext(ApplicationContext ctx) {
		if(context == null){
			context = ctx;
		}
	}
	
	public static Object getBean(String name) {
		return context.getBean(name);
	}
}

5、在代碼中直接使用

MessageUtil.getMessage("001",Locale.ENGLISH);
MessageUtil.getMessage("001",Locale.CHINA);
MessageUtil.getMessage("001",Locale.getDefault());

//輸出以下消息
hello word!
你好,世界!
你好,世界!

以上就是本次項目國際化所有代碼,有不足之處歡迎大家指導。文章來源地址http://www.zghlxwxcb.cn/news/detail-799471.html

到了這里,關(guān)于Spring MVC(三) 國際化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • 【Spring框架】--04.單元測試JUnit、事務、資源操作Resources、國際化、數(shù)據(jù)校驗Validation、提前編譯AOT

    【Spring框架】--04.單元測試JUnit、事務、資源操作Resources、國際化、數(shù)據(jù)校驗Validation、提前編譯AOT

    學習視頻: 尚硅谷Spring教程 在之前的測試方法中,幾乎都能看到以下的兩行代碼: 這兩行代碼的作用是創(chuàng)建Spring容器,最終獲取到對象,但是每次測試都需要重復編寫。針對上述問題,我們需要的是程序能自動幫我們創(chuàng)建容器。我們都知道JUnit無法知曉我們是否使用了 Spr

    2024年02月12日
    瀏覽(23)
  • Java國際化教程_編程入門自學教程_菜鳥教程-免費教程分享

    Java國際化入門教程 - 從簡單的步驟了解Java國際化從基本到高級概念,包括概述,環(huán)境設置,區(qū)域設置,區(qū)域設置詳細信息,顯示語言,ResourceBundle,NumberFormat,格式貨幣,格式百分比,設置最小/最大精度,設置舍入模式,解析數(shù)字,DecimalFormat,格式數(shù)字,特定于區(qū)域設置的

    2024年02月08日
    瀏覽(19)
  • 【Java】Spring MVC程序開發(fā)

    【Java】Spring MVC程序開發(fā)

    Spring Web MVC是基于Servlet API構(gòu)建的原始Web框架,從一開始就包含在Spring框架中。它的正式名稱是“Spring Web MVC”來自其原模塊的名稱,但是它通常被稱為“Spring MVC” 從上述定義我們可以看到兩個信息: Spring MVC 是一個Web框架 Spring MVC 是基于Servlet API構(gòu)建的 然而要真正的搞懂S

    2024年01月16日
    瀏覽(25)
  • Java配置方式使用Spring MVC

    Java配置方式使用Spring MVC

    上一節(jié),我們學習了如何基于XML配置與注解的方式使用Spring MVC,涉及到三個XML配置文件:Spring配置文件(spring-config.xml)、Spring MVC配置文件(spring-mvc-config.xml)、Web部署描述文件(web.xml),這一節(jié),我們通過案例學習如何基于Java配置類與注解的方式使用Spring MVC,只有Java配

    2024年02月05日
    瀏覽(15)
  • 【Java EE】關(guān)于Spring MVC 響應

    【Java EE】關(guān)于Spring MVC 響應

    在博主前面寫的博客 【Java EE】Spring請求如何傳遞參數(shù)詳解 中我們已經(jīng)設置了響應數(shù)據(jù),Http響應結(jié)果可以是數(shù)據(jù),也可以是靜態(tài)??,也可以針對響應設置狀態(tài)碼, Header信息等 首先我們像創(chuàng)建一個靜態(tài)界面,創(chuàng)建位置如下: 前端代碼如下: 不過這里的后端的代碼和以前的代碼

    2024年04月14日
    瀏覽(23)
  • Java配置方式使用Spring MVC:實戰(zhàn)練習

    Java配置方式使用Spring MVC:實戰(zhàn)練習

    承接上文《Java配置方式使用Spring MVC》 登錄頁面 - login.jsp 注:這個頁面沒有JSP代碼,其實可以做成靜態(tài)頁面 - login.html 登錄成功頁面 - success.jsp(必須是動態(tài)頁面,因為要獲取會話對象中的數(shù)據(jù)) 如果不用JSP的標簽庫,要獲取會話中的數(shù)據(jù),要復雜一點 登錄失敗頁面 - failu

    2024年02月05日
    瀏覽(31)
  • 【Java EE】初識Spring Web MVC

    【Java EE】初識Spring Web MVC

    Spring Web MVC 是 基于 Servlet API 構(gòu)建的原始 Web 框架 ,從?開始就包含在Spring框架中。它的正式名稱“Spring Web MVC”來?其源模塊的名稱(Spring-webmvc),但它通常被稱為)Spring MVC). Servlet是?種實現(xiàn)動態(tài)??的技術(shù).準確來講Servlet是?套Java Web 開發(fā)的規(guī)范,或者說是?套Java Web 開發(fā)的

    2024年04月10日
    瀏覽(30)
  • 【Java 中級】一文精通 Spring MVC - 上傳(十)

    【Java 中級】一文精通 Spring MVC - 上傳(十)

    ?? 博主介紹 : 博主從事應用安全和大數(shù)據(jù)領域,有8年研發(fā)經(jīng)驗,5年面試官經(jīng)驗,Java技術(shù)專家,WEB架構(gòu)師,阿里云專家博主,華為云云享專家,51CTO 專家博主 ?? 個人社區(qū):個人社區(qū) ?? 個人主頁:個人主頁 ?? 專欄地址: ? Java 高階 ??八股文專題:劍指大廠,手撕

    2024年02月11日
    瀏覽(19)
  • java spring MVC之RESTful快速開發(fā)

    java spring MVC之RESTful快速開發(fā)

    我這里有個一springboot項目 我在啟動類同目錄下創(chuàng)建了一個目錄 目錄名叫 controller 里面有一個UserController diam結(jié)構(gòu)是這樣的 這是一個基礎的REST風格風格開發(fā) 但其實 我們可以很大程度的簡化 這里 我先啟動項目 然后用Postman測試 這些都是可以正常訪問 和 調(diào)用返回的 確認無誤之

    2024年02月05日
    瀏覽(22)
  • 【Java 高階】一文精通 Spring MVC - 基礎概念(一)

    【Java 高階】一文精通 Spring MVC - 基礎概念(一)

    ?? 博主介紹 : 博主從事應用安全和大數(shù)據(jù)領域,有8年研發(fā)經(jīng)驗,5年面試官經(jīng)驗,Java技術(shù)專家,WEB架構(gòu)師,阿里云專家博主,華為云云享專家,51CTO 專家博主 ?? 個人社區(qū):個人社區(qū) ?? 個人主頁:個人主頁 ?? 專欄地址: ? Java 高階 ??八股文專題:劍指大廠,手撕

    2024年02月11日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包