java后台返回前端页面的提示消息的中英日三国语配置

本文主要是介绍java后台返回前端页面的提示消息的中英日三国语配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

java后台返回前端页面的提示消息的中英日三国语配置

步骤:

  1. 配置文件:application.yml
    spring:
    messages:
    encoding: UTF-8
    basename: i18n/messages
server:port: 8082session-timeout: 30tomcat.max-threads: 0tomcat.uri-encoding: UTF-8#DB接続
spring:datasource:druid:
#qianyong数据库信息url: jdbc:sqlserver://localhost:1433;databasename=thermometerdriverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriverusername: xxpassword: xxxxinitialSize: 5max-active: 50min-idle: 5max-wait: 60000pool-prepared-statements: truemax-pool-prepared-statement-per-connection-size: 20validation-query: SELECT 1validation-query-timeout: 60000test-on-borrow: falsetest-on-return: falsetest-while-idle: truetime-between-eviction-runs-millis: 60000min-evictable-idle-time-millis: 100000#redisキャッシュredis:host: 127.0.0.1port: 6379password:timeout: 100000000msdatabase: 0lettuce:pool:max-active: 8max-wait: -1msmax-idle: 8min-idle: 0servlet:multipart:max-file-size: 200MBfile-size-threshold: 200MB#言語の国際化messages:encoding: UTF-8basename: i18n/messagesdata:solr:host: http://127.0.0.1:8080/solrcore: baidu#分页プラグイン
pagehelper:helper-dialect: SQLServerreasonable: truesupport-methods-arguments: trueparams: count=countSqlmybatis:type-aliases-package: com.monitor.domainmapper-locations: classpath:mapper/*.xmlconfiguration:map-underscore-to-camel-case: truemapper:not-empty: falseidentity: SQLServerweb:ignore:uri: /output/**#ログレベル
logging:level:root: info

2.写入国际化文件
根据上面的配置,在resouces-i18n下面加入Resource Bundle类型文件:
名称为messages,然后加入以下三种类型:
zh_CN 中文
en_US 英文
ja_Jp 日文

完成之后会生成下面三个文件:
【默认】messages.properties
【英文】messages_en_US.properties
【中文】messages_zh_CN.properties
【日文】messages_ja_JP.properties
在里面写入同样的字段:
HelloEveryone=祝大家2020年天天开心
具体过程
新建文件夹i18n
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
![S生成在这里插入图片描述](https://img-blog.csdnimg.cn/20200110141523594.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JqeF9TcGFuZ2U=,size_16,color_FFFFFF,t_70
生成好文件后的目录结构
在这里插入图片描述

**各个文件内容:messages.properties**
banner.charset=UTF-8
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.messages.encoding=UTF-8
HelloEveryone=祝大家2020年天天开心**messages_en_US.properties:**
banner.charset=UTF-8
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.messages.encoding=UTF-8
HelloEveryone=Happy every day in 2020**messages_ja_JP.properties**
banner.charset=UTF-8
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.messages.encoding=UTF-8
HelloEveryone=みんなが2020年毎日楽しいことを祈ります。**messages_zh_CN.properties**
banner.charset=UTF-8
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.messages.encoding=UTF-8
HelloEveryone=祝大家2020年天天开心

3.新建类
用底层的方法用了4个参数,这4个参数对应的都是地理位置等信息,但这类参数每次在Controller调用的时候都要放一遍,确实很不方便,因为我们只要传进的是code。和语言标识language
我们可以考虑让包装一个类去屏蔽这些参数。
当然,下面的例子是忽略地理位置信息的,如果需要带上地理位置信息,可以考虑使用拦截器方式通过前端传回语言信息,再去对应的地方拿对应的信息。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.stereotype.Component;@Component
public class MessageSourceUtil {@Autowiredprivate MessageSource messageSource;public String getMessage(String code, String language) {if ("en".equals(language)){return messageSource.getMessage(code, null, "", Locale.US);} else if("cn".equals(language)){return messageSource.getMessage(code, null, "", Locale.CHINA);} else if ("ja".equals(language)){return messageSource.getMessage(code, null, "", Locale.JAPAN);}return messageSource.getMessage(code, null, "", Locale.JAPAN);}
}

4.demo演示代码

import com.monitor.config.MessageSourceUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class ManyLanguageDemo {@Autowiredprivate MessageSourceUtil messageSourceUtil;@ResponseBody@PostMapping("/ManyLanguageDemo")public String ManyLanguageDemo(String language){String message = messageSourceUtil.getMessage("HelloEveryone", language);System.out.println(message);return message;}
}

5.postman演示效果图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于java后台返回前端页面的提示消息的中英日三国语配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/178883

相关文章

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

Java 实用工具类Spring 的 AnnotationUtils详解

《Java实用工具类Spring的AnnotationUtils详解》Spring框架提供了一个强大的注解工具类org.springframework.core.annotation.Annot... 目录前言一、AnnotationUtils 的常用方法二、常见应用场景三、与 JDK 原生注解 API 的

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

Java中的StringBuilder之如何高效构建字符串

《Java中的StringBuilder之如何高效构建字符串》本文将深入浅出地介绍StringBuilder的使用方法、性能优势以及相关字符串处理技术,结合代码示例帮助读者更好地理解和应用,希望对大家... 目录关键点什么是 StringBuilder?为什么需要 StringBuilder?如何使用 St

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

Java并发编程之如何优雅关闭钩子Shutdown Hook

《Java并发编程之如何优雅关闭钩子ShutdownHook》这篇文章主要为大家详细介绍了Java如何实现优雅关闭钩子ShutdownHook,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 目录关闭钩子简介关闭钩子应用场景数据库连接实战演示使用关闭钩子的注意事项开源框架中的关闭钩子机制1.

Maven中引入 springboot 相关依赖的方式(最新推荐)

《Maven中引入springboot相关依赖的方式(最新推荐)》:本文主要介绍Maven中引入springboot相关依赖的方式(最新推荐),本文给大家介绍的非常详细,对大家的学习或工作具有... 目录Maven中引入 springboot 相关依赖的方式1. 不使用版本管理(不推荐)2、使用版本管理(推