博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Thymeleaf配置国际化页面
阅读量:3970 次
发布时间:2019-05-24

本文共 4714 字,大约阅读时间需要 15 分钟。

文章目录

一、使用Thymeleaf配置国际化页面

1、创建项目文件

在这里插入图片描述

  • 添加依赖
    在这里插入图片描述

2、拷贝上一讲控制器等

在这里插入图片描述

3、测试是否能运行

在这里插入图片描述

4、在i18n目录里创建login.properties

在这里插入图片描述

在这里插入图片描述

5、在i18n目录里创建login_zh_CN.properties

在这里插入图片描述

6、在i18n目录里创建login_en_US.properties

在这里插入图片描述

7、编写全局配置文件

在这里插入图片描述

8、定制区域信息解析器

在这里插入图片描述

package net.zjs.lesson10.resolver;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.LocaleResolver;import org.thymeleaf.util.StringUtils;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.util.Locale;/** * 功能:自定义区域解析器 * 作者:华卫 * 日期:2021年05月26日 */@Configurationpublic class MyLocaleResolver implements LocaleResolver {
@Override public Locale resolveLocale(HttpServletRequest httpServletRequest) {
// 获取区域标识 String flag = httpServletRequest.getParameter("flag"); // 获取默认区域对象 Locale locale = Locale.getDefault(); // 判断区域标识是否为空 if (!StringUtils.isEmpty(flag)) {
// 对区域标识进行拆分处理 String[] splits = flag.split("_"); // 使用下划线切分字符串,返回一个字符串数组,如zh_CN --> ["zh", "CN"] // 利用区域标识创建区域对象 locale = new Locale(splits[0], splits[1]); } // 返回区域对象 return locale; } @Override public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
} @Bean // 定义Bean组件,交给Spring容器管理 public LocaleResolver localeResolver() {
return new MyLocaleResolver(); }}

9、页面国际化使用

在这里插入图片描述

    
用户登录
今年 -
明年

用户登录

10、运行服务器

  • 访问http://localhost:8080/toLoginPage
    在这里插入图片描述
  • 点击可切换中英文
    在这里插入图片描述

二、Thymeleaf复杂数据的展示

1、创建用户实体类

在这里插入图片描述

package net.zjs.lesson10.bean;/** * 功能:用户实体类 * 作者:zjs * 日期:2021-05-26 */public class User {
private Integer id; private String name; private String gender; private Integer age; public User() {
} public User(Integer id, String name, String gender, Integer age) {
this.id = id; this.name = name; this.gender = gender; this.age = age; } public Integer getId() {
return id; } public void setId(Integer id) {
this.id = id; } public String getName() {
return name; } public void setName(String name) {
this.name = name; } public String getGender() {
return gender; } public void setGender(String gender) {
this.gender = gender; } public Integer getAge() {
return age; } public void setAge(Integer age) {
this.age = age; } @Override public String toString() {
return "User{" + "id=" + id + ", name='" + name + '\'' + ", gender='" + gender + '\'' + ", age=" + age + '}'; }}

2、创建用户控制器

在这里插入图片描述

package net.zjs.lesson10.controller;import net.zjs.lesson10.bean.User;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import java.util.ArrayList;import java.util.List;/** * 功能:用户控制器 * 作者:zjs * 日期:2021-05-26 */@Controllerpublic class UserController {
@RequestMapping("/allUsers") public String allUsers(Model model){
//获取用户列表 List
users=getUsers(); //将用户列表写入模型里 model.addAttribute("users",users); //返回逻辑视图名 return "allUsers"; } /* * 返回用户列表 * */ private List
getUsers() {
List
users = new ArrayList<>(); users.add(new User(1, "李红玉", "女", 20)); users.add(new User(2, "肖雨涵", "男", 18)); users.add(new User(3, "唐忠刚", "男", 19)); users.add(new User(4, "郑小红", "女", 18)); users.add(new User(5, "陆文君", "女", 19)); return users; }}

3、创建显示全部用户信息模板页面

在这里插入图片描述

    
用户信息

查询到的用户信息

编号 姓名 性别 年龄

4、修改登录成功界面

在这里插入图片描述

5、启动项目,查看结果

  • 用户名:beautiful

  • 密码:123456

    在这里插入图片描述

  • 登录成功

在这里插入图片描述

  • 点击蓝色字体,显示所有用户信息
    在这里插入图片描述

课后作业

1、创建用户表

在这里插入图片描述

2、在用户控制器里添加获取个人信息方法

在这里插入图片描述

转载地址:http://mntki.baihongyu.com/

你可能感兴趣的文章
Linux下ARM汇编教程
查看>>
Linux下ARM汇编教程
查看>>
linux面试题参考答案
查看>>
LINUX驱动之IIC子系统之三I2C的数…
查看>>
LINUX驱动之IIC子系统之三I2C的数…
查看>>
Linux设备驱动之I2C架构分析
查看>>
i2c子系统之__i2c_first_dynamic_b…
查看>>
浅析linux内核中的idr机制
查看>>
i2c子系统之__i2c_first_dynamic_b…
查看>>
linux内核SPI总线驱动分析(一)
查看>>
浅析linux内核中的idr机制
查看>>
source&nbsp;insight使用
查看>>
linux内核SPI总线驱动分析(一)
查看>>
linux设备模型之uart驱动架构分析
查看>>
source&nbsp;insight使用
查看>>
git基本使用
查看>>
网络子系统5_设备队列规则&nbsp;.
查看>>
七、WordPress配置HTTPS与开启CDN加速
查看>>
linux下如何手动编译安装bzip2库
查看>>
view must be a callable or a list tuple in the case of include
查看>>