springBoot09_WEB开发03_实验导入资源、国际化、点击切换中英文、IDEA设置全局配置,修改properties文件编码

导入实体类,dao层
在这里插入图片描述
导入静态资源:html、css、js放到static下
html页面放到templates中,这样才能得到模板引擎的解析
在这里插入图片描述
这里我有两个index.html页面
在这里插入图片描述
http://localhost:8080/
默认访问的是public中的
在这里插入图片描述
如何控制访问模板文件夹中的index.html?
需要在控制器中配置
也就是,不管我访问/ 还是/index.html
都是去模板引擎中找index.html
在这里插入图片描述
在这里插入图片描述
但是我们每次都在控制器中配置显然麻烦,

使用扩展springMVC

在这里插入图片描述
同样是当访问访问/ 还是/index.html
都是去模板引擎中找iogin.html
我们的登录页面

资源引用

公共的资源使用依赖
从webjars官网找到bootstrap的依赖
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
引入资源
在这里插入图片描述
这种写法的好处:
比如我们的访问名变了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
会自动加上/crud

国际化

login页面国际化

1、编写国际化配置文件,抽取页面需要显示的国际化消息

在这里插入图片描述
新建国际化配置文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、SpringBoot自动配置好了管理国际化资源文件的组件

在这里插入图片描述
在这里插入图片描述

3、去页面获取国际化的值

注意#{}是取国际化信息的语法,
[[]] 双中括号用于单标签外的文本取值
在这里插入图片描述
此时会发现页面乱码
在这里插入图片描述

IDEA设置全局配置,修改properties文件编码

在默认配置修改的配置是所有项目都修改
在这里插入图片描述
在这里插入图片描述
这样,properties文件默认编码是UTF-8,运行时会把UTF-8转变成ASCII妈输出
顺便查看一下,当前项目的settings,是否对全局设置生效

在这里插入图片描述
效果:根据浏览器语言设置的信息切换了国际化;

实现点击切换中英文

原理:
国际化Locale(区域信息对象);LocaleResolver(获取区域信息对象);
上边的国际化实现就是这个LocaleResolver获取到了请求头中的语言信息,把第一位的语言作为配置进行国际化
比如en_US在第一位,就以英文国际化
在这里插入图片描述
在这里插入图片描述
我们自己写一个LocaleResolver区域信息解析器来获取国际化信息
在这里,我首先获取默认的区域信息,如果从请求中传了区域信息,就使用传过来的
并返回区域信息

点击切换,也就是请求中携带了区域信息
在这里插入图片描述

/**
 * 区域信息解析器
 * 可以在连接上携带区域信息
 */
public class MyLocaleResolver implements LocaleResolver{

    @Override
    public Locale resolveLocale(HttpServletRequest request) {
        String l = request.getParameter("l");
        Locale locale = Locale.getDefault();
        if(!StringUtils.isEmpty(l)){
            String[] split = l.split("_");
            locale = new Locale(split[0], split[1]);
        }
        return locale;
    }

    @Override
    public void setLocale(HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable Locale locale) {

    }
}

接着在扩展springMVC中,将自定义的区域信息解析器,注册到spring容器中

//扩展springMVC功能
//@EnableWebMvc    //完全接管springMVC
@Configuration
public class MyMvcConfig extends WebMvcConfigurerAdapter{

    //配置区域信息解析器,并注册到容器
    @Bean
    public LocaleResolver localeResolver(){
        return new MyLocaleResolver();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值