Spring Boot 数据国际化

internationalization详解

	国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素。换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产。开发这样的程序的过程,就称为国际化。

数据国际化

** 从请求作用域获取locale,然后查询对应的数据**

中文语言数据页面:只有中文数据
在这里插入图片描述

英文语言数据页面:只有英文数据
在这里插入图片描述
浏览器切换中文,英文
在这里插入图片描述

模型对象User

@Entity
@Table(name = "t_user")
public class User {@Id@GeneratedValueprivate Long id;private String name;private Integer age;private String locale;//通过此字段查询对应的数据

初始化类InitApplicationListener

package com.jege.spring.boot.controller;import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;import com.jege.spring.boot.data.jpa.entity.User;
import com.jege.spring.boot.data.jpa.repository.UserRepository;/*** spring的事件监听器的处理机制:在启动服务器的时候,插入默认数据*/
@Component
public class InitApplicationListener implements ApplicationListener<ContextRefreshedEvent> {@Overridepublic void onApplicationEvent(ContextRefreshedEvent event) {ApplicationContext context = event.getApplicationContext();UserRepository userRepository = context.getBean("userRepository", UserRepository.class);User user;for (int i = 1; i < 21; i++) {if (i % 2 == 0) {user = new User("小明" + i, 25 + i);user.setLocale("zh");} else {user = new User("zh-ge" + i, 25 + i);user.setLocale("en");}userRepository.save(user);}}}

控制器类UserController

// 从user.jsp列表页面由easyui-datagrid发出ajax请求获取json数据@RequestMapping("/json")@ResponseBodypublic Map<String, Object> json(@RequestParam(name = "page", defaultValue = "1") int page,@RequestParam(name = "rows", defaultValue = "10") int rows, final String q, HttpServletRequest request) {// 按照id降序Sort sort = new Sort(Sort.Direction.DESC, "id");// 封装分页查询条件Pageable pageable = new PageRequest(page - 1, rows, sort);// 拼接查询条件Specification<User> specification = new Specification<User>() {@Overridepublic Predicate toPredicate(Root<User> root, CriteriaQuery<?> query, CriteriaBuilder cb) {List<Predicate> list = new ArrayList<Predicate>();if (!StringUtils.isEmpty(q)) {list.add(cb.like(root.get("name").as(String.class), "%" + q + "%"));}if (request.getLocale().toString().contains("en")) {list.add(cb.like(root.get("locale").as(String.class), "%en%"));} else {list.add(cb.like(root.get("locale").as(String.class), "%zh%"));}Predicate[] p = new Predicate[list.size()];return cb.and(list.toArray(p));}};return findEasyUIData(userRepository.findAll(specification, pageable));}

如果感觉不错记得点赞哟!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机二维动画的核心技术是什么意思,数字化技术在二维动画设计中的应用研究...

摘要&#xff1a;动画是艺术与技术的整合,动画的艺术性需要技术的支撑,技术需要艺术来呈现,动画技术的发展使动画导演和设计师完成作品的速度得到提高,艺术的表现效果上也越来越接近想象.随着计算机数字技术的发展,二维动画制作也逐渐对传统的制作方式加以改进,将二维传统手绘动…

Spring Boot Cache之缓存

缓存详解 缓存就是数据交换的缓冲区&#xff08;称作Cache&#xff09;&#xff0c;当某一硬件要读取数据时&#xff0c;会首先从缓存中查找需要的数据&#xff0c;如果找到了则直接执行&#xff0c;找不到的话则从内存中找。由于缓存的运行速度比内存快得多&#xff0c;故缓存…

没有bug队——加贝——Python 练习实例 21,22

21.题目&#xff1a; 猴子吃桃问题&#xff1a;猴子第一天摘下若干个桃子&#xff0c;当即吃了一半&#xff0c;还不瘾&#xff0c;又多吃了一个第二天早上又将剩下的桃子吃掉一半&#xff0c;又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时&…

没有bug队——加贝——Python 练习实例 23,24

23.题目&#xff1a;打印菱形 程序分析&#xff1a;先把图形分成两部分来看待&#xff0c;前四行一个规律&#xff0c;后三行一个规律&#xff0c;利用双重for循环&#xff0c;第一层控制行&#xff0c;第二层控制列。 注&#xff1a;将这个图形看成对称的&#xff0c;前面和后…

Spring Boot 之 itext导出pdf下载

Java操作pdf框架详解 itext是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本&#xff0c;表格&#xff0c;图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。 下载效果演示 po…

从您的计算机移除此产品,解决office提示“此操作只对目前安装的产品有效”的方法...

Office软件是我们所有微软系统预装版本中都会有的一个组件&#xff0c;有的用户在购买电脑之后由于不想使用这个软件等种种原因会选择将这个软件从电脑中卸载。卸载的方法有很多&#xff0c;我们常用的方法就是使用电脑中自带的卸载软件卸载这个程序&#xff0c;还有一种就是使…

没有bug队——加贝——Python 练习实例 25,26

我非常认真的告诉大家今天这是一篇水文&#xff0c;别看了 25.题目&#xff1a; 求12!3!...20!的和。 程序分析&#xff1a;此程序只是把累加变成了累乘。 s 0 l range(1,21) def op(x):r 1for i in range(1,x 1):r * ireturn r s sum(map(op,l)) print (1! 2! 3! …

Spring Boot 之 elasticsearch

elasticsearch详解 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎&#xff0c;基于RESTful web接口。Elasticsearch是用Java开发的&#xff0c;并作为Apache许可条款下的开放源码发布&#xff0c;是当前流行的企业级搜索引擎。设计用…

符江职高计算机教什么,高县符江职高具体地址

摘要&#xff1a;学校地址 :宜宾市高县清福镇学府路22号 公交路线 高县:进入盛兴路&#xff0c;行驶300米-左转&#xff0c;进入朔村路&#xff0c;行驶540米-左转&#xff0c;进入汉胜路&#xff0c;行驶440米-请直走&#xff0c;进入富悦路&#xff0c;行驶200米-请直走&…

MATLAB基础教程(7)——求解定积分和不定积分

目录 定积分的基本概念 什么是定积分&#xff1f; 如何深入的理解定积分&#xff1f; 如何计算定积分? 在matlab中计算定积分。 不定积分 在matlab中计算不定积分 在matlab中计算定积分 本期回顾 定积分的基本概念 什么是定积分&#xff1f; 简而言之&#xff0c;我…

微信公众号中选择时间css,微信公众号到底应该几点推文?

原标题&#xff1a;微信公众号到底应该几点推文&#xff1f;微信公众号到底应该几点推文&#xff1f;早晨上班&#xff0c;中午休息&#xff0c;晚上睡觉前&#xff0c;都是好时间。这些时间别说刚入行的小白知道&#xff0c;就连半只脚没踏进运营门槛的小灰都知道&#xff0c;…

没有bug队——加贝——Python 练习实例 27,28

今天这两题都是递归&#xff0c;如果你看不太明白&#xff0c;可以翻翻之前的&#xff0c;那里介绍的比较明白&#xff0c;嘿嘿&#xff0c;我今天继续水了&#xff0c;拜拜各位&#xff01;&#xff01; 27.题目&#xff1a; 利用递归函数调用方式&#xff0c;将所输入的5个…

C语言程序解析

首先我们要有一段完整的代码。 #include <stdio.h> int main() {puts("Hello World");return 0; }下面我们对以上程序进行解析 函数的概念 先来看第 4 行代码&#xff0c;这行代码会在显示器上输出“Hello World”。前面我们已经讲过&#xff0c;puts 后面要…

MATLAB基础教程(9)——高级积分运算、二重积分

目录 复习定积分&#xff08;单变量&#xff09; 二重积分 今日小结 复习定积分&#xff08;单变量&#xff09; 在之前&#xff0c;先复习一下之前学习的内容。使用matlab求解定积分的步骤大概如下&#xff1a; 定义符号变量&#xff08;syms关键字&#xff09;定义内联函…

服务器怎么存储文件节省空间,超大空间云服务器文件存储

超大空间云服务器文件存储 内容精选换一换本节操作指导您完成Windows操作系统云服务器磁盘空间清理。弹性云服务器匀出一部分磁盘空间来充当内存使用&#xff0c;当内存耗尽时&#xff0c;云服务器可以使用虚拟内存来缓解内存的紧张。但当内存使用率已经非常高时&#xff0c;频…

C语言变量和数据类型

从数据在内存中的存储方式中可以得知 计算机要处理的数据&#xff08;诸如数字、文字、符号、图形、音频、视频等&#xff09;是以二进制的形式存放在内存中的&#xff1b;我们将8个比特&#xff08;Bit&#xff09;称为一个字节&#xff08;Byte&#xff09;&#xff0c;并将字…

MATLAB基础教程(10)——二维中的数据可视化

目录 MATLAB数据可视化 绘图 在同一个figure里面绘制多个图形 本期小结 MATLAB数据可视化 绘图 绘制图形&#xff08;二维&#xff09;一般使用plot函数&#xff0c;这个函数一般能满足很多画图的功能了&#xff0c;比如我们能绘制一个函数图像&#xff1a; 代码如下&…

gen2服务器只显示spbc,gen2-regen培训资料.ppt

gen2-regen培训资料,regen,regen丽珍,regen面膜,auchimregen,manaregen,regenmode,cadregen,otisregen,regenhu概述 GeN2-Regen模型图 E&I Panel SPBC 介绍 电池检查 SPBC 功能按钮介绍 SPBC 各状态灯介绍 ERO&MRO操作说明 手动松闸检查 (E/I-panel) P5T/P6T使用 控制柜…

Spring Boot 分布式会话

应用范围 为了使Web能适应大规模的访问,需要实现应用程序的集群部署实现集群部署首先要解决session的统一&#xff0c;即需要实现session的共享机制&#xff0c;即分布式会话分布式Session的实现方式 基于resin/tomcat web容器本身的session复制机制基于NFS共享文件系统基于Coo…

没有bug队——加贝——Python 练习实例 29,30

目录 29.题目&#xff1a; 30.题目&#xff1a; 彩蛋&#xff1a; 扩展资料 29.题目&#xff1a; 给一个不多于5位的正整数&#xff0c;要求&#xff1a;一、求它是几位数&#xff0c;二、逆序打印出各位数字。 程序分析&#xff1a;学会分解出每一位数。 注&#xff1a;…