从零搭建若依(Ruoyi-Vue)管理系统(7)--国际化消息处理

本章结束后对应的节选代码文件:Gangbb-Vue-07-i18n

项目地址:https://github.com/Gang-bb/Gangbb-Vue
历史遗留TODO:

  • 第四章
  1. 登录日志还未实现。(到登录和权限模块完成)
  2. LogAspect从缓存获取当前的用户信息使用模拟的数据(到登录和权限模块完成)

本章将留下TODO:

本章将解决TODO:

若依官网对这方面的文档写的不是很清楚!

1.新建一个Resourse Bundle

  1. Gangbb-adminresources目录下新建i8n文件夹储存所有国际化文本属性。

  2. 新建一个 messages Resourse Bundle

在这里插入图片描述

添加中英文语言简称:

zh_CN
en_US

在这里插入图片描述

  1. 随便在文件中添加一个测试属性

在这里插入图片描述

2. 自定义WebMvcConfigurer类来实现国际化配置

后面还会使用到这个类,注册一些拦截器

/**
 * @author : Gangbb
 * @ClassName : WebMvcConfig
 * @Description : 自定义WebMvcConfigurer类来扩展springmvc的功能
 * @Date : 2021/3/9 15:22
 */
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    /**
     * 注册拦截器
     * @param registry
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {

        // 注册Locale拦截器(国际化)
        registry.addInterceptor(getLocaleChangeInterceptor());
    }

    /**
     * Locale拦截器(国际化)
     * @return
     */
    public LocaleChangeInterceptor getLocaleChangeInterceptor(){
        // 定义一个拦截器
        LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();
        // 拦截请求中 key 为 lang 的参数
        interceptor.setParamName("lang");

        return interceptor;
    }
    /**
     * 默认解析器 其中locale表示默认语言
     */
    @Bean
    LocaleResolver localeResolver() {
        //替换掉默认的 AcceptHeaderLocaleResolver
        SessionLocaleResolver localeResolver = new SessionLocaleResolver();
        //设置默认语言为简体中文
        localeResolver.setDefaultLocale(Locale.SIMPLIFIED_CHINESE);
        return localeResolver;
    }
}

3. 测试使用

@RestController
@RequestMapping("/test/exception")
public class TestExceptionController {
    @Autowired
    MessageSource messageSource;

    /**
     * 测试i8n国际化
     * 传入参数lang 决定中英文环境
     * @return
     */
    @GetMapping("/i8n")
    public String testI18n(){

        return messageSource.getMessage("exception.default", null, LocaleContextHolder.getLocale());
    }
}

默认情况:

在这里插入图片描述

标明英文

在这里插入图片描述

标明中文:

在这里插入图片描述

也可以控制写死为中/英文:

image-20210309162015561

4. 获取i18n资源文件工具类

目的是为了可以在非Spring应用上下文环境下获取i18n资源文件

/**
 * @author : Gangbb
 * @ClassName : MessageUtils
 * @Description : 获取i18n资源文件
 * @Date : 2021/3/9 15:36
 */


public class MessageUtils
{
    /**
     * 根据消息键和参数 获取消息 委托给spring messageSource
     * @param key 消息键
     * @param args 参数
     * @return 获取国际化翻译值
     */
    public static String getMessage(String key, Object... args)
    {
        MessageSource messageSource = SpringUtils.getBean(MessageSource.class);
        return messageSource.getMessage(key, args, LocaleContextHolder.getLocale());
    }
}

使用示例:

image-20210309161103898

image-20210309161048089

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统。她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA。所有前端后台代码封装过后十分精简易上手,出错效率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 您是否在找一套合适后台管理系统。 您是否在找一套代码易读易懂后台管理系统。 那么,现在若依来了。诚意奉献之作 若依是给刚出生的女儿取的名字 寓意:你若不离不弃,我必生死相依 内置功能 用户管理:用户是系统操作者。 部门管理:配置系统组织机构。 岗位管理:岗位是用户所属职务。 菜单管理:配置系统菜单(支持控制到按钮)。 角色管理:角色菜单权限分配。 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 操作日志:系统操作日志记录(含异常)。 登录日志:系统登录情况记录(含异常)。 在线用户:当前系统中活跃用户状态监控。 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 为何选择若依 是一个完全响应式,基于Bootstrap3.3.6最新版本开发的主题。 她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA。 拥有良好的代码结构,层次结构清晰。内置一系列基础功能。 操作权限控制精密细致,对所有管理链接都进行权限验证,可控制到按钮。 提供在线功能代码生成工具,提高开发效率及质量。 提供常用工具类封装,日志、国际化、缓存、验证、字典等数据。 兼容目前最流行浏览器(IE7+、Chrome、Firefox)手机移动端也支持。 技术选型 1、后端 核心框架:Spring Boot 安全框架:Apache Shiro 模板引擎:Thymeleaf 持久层框架:MyBatis 数据库连接池:Druid 缓存框架:Ehcache 日志管理:SLF4J 工具类:Apache Commons Fastjson POJO:Lombok 2、前端 框架:Bootstrap 数据表格:Bootstrap Table 客户端验证:JQuery Validation 树结构控件:zTree 弹出层:layer 3、平台 服务器中间件:SpringBoot内置 数据库支持:目前仅提供MySql数据库的支持,但不限于数据库 开发环境:Java、Eclipse、Maven、Git
### 回答1: ruoyi-vue-oracle是一种基于vue.js开发的前端框架,它使用了Oracle数据库作为后端的数据存储和处理工具。ruoyi-vue是一个开源的管理系统框架,它结合了vue.js和element-ui,提供了丰富的组件和插件,帮助开发者快速构建现代化的管理系统。而Oracle是一种强大的关系型数据库管理系统,它具有高性能、高可靠性和安全性的特点,被广泛应用于企业级应用程序。 通过ruoyi-vue-oracle,开发者可以轻松地搭建一个功能强大、稳定可靠的管理系统。vue.js作为前端框架,提供了灵活且高效的开发方式,可以实现各种交互效果和页面布局;element-ui则为开发者提供了丰富的组件和样式,极大地提高了开发效率。而Oracle数据库作为后端存储工具,可以处理大量数据并保证数据的一致性和安全性。 ruoyi-vue-oracle还可以实现用户权限管理、数据管理和系统监控等功能。用户权限管理可以根据角色和权限划分用户的访问权限,确保系统的安全性;数据管理可以对数据库进行增删改查操作,满足对数据的管理需求;系统监控可以实时监控系统的运行状态和性能,及时发现并解决问题。 总之,ruoyi-vue-oracle提供了一套完整的开发框架和解决方案,帮助开发者快速构建现代化的管理系统。无论是企业级应用还是个人项目,都可以通过ruoyi-vue-oracle实现快速、稳定的开发。 ### 回答2: ruoyi-vue-oracle是一个开源的后台管理系统,采用了前后端分离的架构,前端使用了Vue.js框架,后端使用了Spring Boot框架,数据库使用了Oracle。这个系统提供了丰富的功能,包括用户管理、角色管理、菜单管理、部门管理、字典管理、通知公告管理等。 在前端方面,ruoyi-vue使用了Vue.js来构建用户界面,提供了响应式的布局和丰富的组件,使得用户可以方便地进行操作和管理。同时,Vue.js也提供了一套模块化的开发方式,使得项目的代码结构清晰、可维护性高。 在后端方面,ruoyi-vue使用了Spring Boot作为基础框架,结合了Spring框架的优点,提供了一套强大的开发工具和生命周期管理,简化了开发流程并提高了生产力。同时,Spring Boot还集成了许多常用的功能和组件,如安全认证、缓存、数据库等,这些都可以帮助开发者快速搭建稳定可靠的系统。 数据库方面,ruoyi-vue选择了Oracle作为后端的数据库,Oracle是目前业界广泛使用的关系型数据库之一,具有强大的存储和查询能力,可以满足大部分企业级应用的需求。在ruoyi-vue中,通过使用数据库的事务管理,保证了数据的一致性和完整性。 总体来说,ruoyi-vue-oracle是一个功能强大且易于使用的后台管理系统,它提供了丰富的功能和灵活的架构,能够帮助开发者快速构建高效稳定的系统。 ### 回答3: ruoyi-vue-oracle是一个基于Vue.js和Spring Boot的开源框架,用于快速构建前后端分离的管理系统。Oracle是一种关系型数据库管理系统,用于存储和管理大量结构化数据。 ruoyi-vue-oracle提供了一套完整的解决方案,包括前端页面、后端接口和数据库模型。前端页面采用Vue.js框架编写,具有良好的用户交互体验和响应速度。后端接口基于Spring Boot框架开发,提供了丰富的业务功能和数据处理能力。Oracle数据库作为数据存储介质,提供了高性能、高可用性和数据安全性,适用于处理大规模数据和复杂查询。 使用ruoyi-vue-oracle框架,开发人员可以快速搭建管理系统,并轻松实现用户管理、角色权限、数据字典、系统监控、日志管理等常见功能。同时,该框架还提供了丰富的扩展和定制功能,便于根据项目需求进行二次开发。 总之,ruoyi-vue-oracle是一个功能强大的前后端分离框架,可以帮助开发人员快速构建高效、稳定的管理系统。Oracle数据库作为数据存储的选择,能够提供可靠的数据管理与查询服务。结合两者,可以满足企业对高性能、可扩展性和良好用户体验的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值