Springboot之国际化

1.目录结构和效果图
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
2.在resources目录下创建i18n资源文件,并写入数据
在这里插入图片描述
3.导入config

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class LocaleConfig extends WebMvcConfigurerAdapter {

    @Bean
    public LocaleResolver localeResolver() {
        SessionLocaleResolver slr = new SessionLocaleResolver();
        // 默认语言
        slr.setDefaultLocale(Locale.US);
        return slr;
    }

    @Bean
    public LocaleChangeInterceptor localeChangeInterceptor() {
        LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
        // 参数名
        lci.setParamName("lang");
        return lci;
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(localeChangeInterceptor());
    }
}

4.控制层

@Controller
@RequestMapping("user")
public class LoginController {

    @Autowired
    private MessageSource messageSource;
    /**
     * HTML
     * @return
     */
    @RequestMapping("login")
    public String login(){
        return "index";
    }

    /**
     * JSP
     * @return
     */
    @RequestMapping("index")
    public String index(Model model){

        Locale locale = LocaleContextHolder.getLocale();
        model.addAttribute("password", messageSource.getMessage("password", null, locale));
        return "login";
    }
}

5.jsp页面

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>我是返回的JSP页面</h1>

<a href="/user/index?lang=en_US">English(US)</a>
<a href="/user/index?lang=zh_CN">简体中文</a><br>
<h1>******************************</h1><br>
<spring:message code='userName'/>:<br>
${password}:
<h1>******************************</h1>
</body>
</html>

6.测试链接
http://localhost/user/index

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值