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后台返回前端页面的提示消息的中英日三国语配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/Bjx_Spange/article/details/103924221
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/178883

相关文章

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java中反射Reflection的4个作用详解

《java中反射Reflection的4个作用详解》反射Reflection是Java等编程语言中的一个重要特性,它允许程序在运行时进行自我检查和对内部成员(如字段、方法、类等)的操作,本文将详细介绍... 目录作用1、在运行时判断任意一个对象所属的类作用2、在运行时构造任意一个类的对象作用3、在运行时判断

java如何解压zip压缩包

《java如何解压zip压缩包》:本文主要介绍java如何解压zip压缩包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java解压zip压缩包实例代码结果如下总结java解压zip压缩包坐在旁边的小伙伴问我怎么用 java 将服务器上的压缩文件解压出来,

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依