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

相关文章

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

浅析Java中如何优雅地处理null值

《浅析Java中如何优雅地处理null值》这篇文章主要为大家详细介绍了如何结合Lambda表达式和Optional,让Java更优雅地处理null值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录场景 1:不为 null 则执行场景 2:不为 null 则返回,为 null 则返回特定值或抛出异常场景

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安