目录
一、首页配置
二、国际化
2.1 配置文件编写
2.2 使配置文件生效
2.3 配置页面国际化值
2.4 实现根据按钮自动切换中英文
三、登录+拦截器
一、首页配置
1、所有页面的静态资源都需要用thymeleaf接管
2、url使用@{}格式
二、国际化
2.1 配置文件编写
1、在resources资源文件下新建一个i18n目录,存放国际化配置文件
2、建立一个login.properties文件,再建一个login_zh_CN.properties:此时IDEA自动识别我们要做国际化操作,文件夹会变
3、在这基础上,再建一个文件
4、开始编写配置,依次添加页面需要国际化的内容即可
2.2 使配置文件生效
配置messages的路径
2.3 配置页面国际化值
thymeleaf对于message的取值操作是:#{}
2.4 实现根据按钮自动切换中英文
如果想点击链接让我们的国际化资源生效,就需要让我们自己的Locale生效!
自己去写一个LocaleResolver,在链接上携带语言和地区信息(如zh_CN)
注意:thymeleaf携带参数,不使用问号,而是用括号
写一个处理的组件:MyLocaleResolver(实现LocaleResolver,则表示它是一个LocaleResolver)
package com.liang.config;import org.springframework.util.StringUtils;
import org.springframework.web.servlet.LocaleResolver;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Locale;public class MyLocaleResolver implements LocaleResolver {//解析请求@Overridepublic Locale resolveLocale(HttpServletRequest request) {//获取请求中的语言参数String language = request.getParameter("l");Locale locale = Locale.getDefault();//没有就使用默认的if(!StringUtils.isEmpty(language)){//语言,地区String[] split = language.split("_");locale = new Locale(split[0], split[1]);}return locale;}@Overridepublic void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {}
}
为了能够生效,需要配置这个组件!
在MyMvcConfig下添加bean
三、登录+拦截器
1、前端页面
2、编写Controller
3、addViewController,更接近实际业务操作
4、实现拦截器
实现了HandlerInterceptor,它就是一个拦截器
重写preHandle方法,在方法中编写拦截的逻辑
5、使自定义的拦截器生效
注意:这里路径的/,代表的是resources资源文件下的子文件
也就是说"/index.html"就是resources/template/index.html