**#Springboot第四天 4/11**

#Springboot第四天 4/11

##i18n配置

1、在resource目录下建立配置文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fiQa8zDG-1618111856250)(file:///C:\Users\86130\AppData\Roaming\Tencent\Users\1765772391\QQ\WinTemp\RichOle\MGJ()]3Y$0[Q9KCD8K]EOED1.png)

社区版本的idea可视化要从US的配置开始,用键值对的形式赋值


login.tip=Please sign in
login.password=Password
login.remember=Remember me
login.sign=Sign In

2.在配置文件中声明上述配置的真实位置


#message的真实地址
spring.messages.basename=i18n.login

3.在前端页面中修改各个标签、按钮值得来源,以修改index为例

链接 <link th:href="@{/css/image}"

文本<h1 th:text="#{login.sign}"


<input type="password" class="form-control" th:placeholder="#{login.password}" required="">
<div class="checkbox mb-3">

单选框、按钮


<label>
      <input type="checkbox" value="remember-me"> [[#{login.remember}]]
      <button class="btn btn-lg btn-primary btn-block" type="submit">[[#{login.sign}]]</button>
      

#从前端发请求提交请求参数给后端处理


<a class="btn btn-sm"th:href="@{index.html(l='zh_CN')}">中文</a>
<a class="btn btn-sm"th:href="@{index.html(l='en_US')}">English</a>

重点 用来处理服务器请求的类,split字符分割、空指针判断


package springboot.demo.config;
import jdk.nashorn.internal.ir.RuntimeNode;
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;

public class MyLocalResovel implements LocaleResolver {

    @Override
    //这个类用来解析请求
    public Locale resolveLocale(HttpServletRequest httpServletRequest) {
        //获取请求的语言参数l
     String language=httpServletRequest.getParameter("l");
      //判断这个请求是否为空,如果没有就使用默认的地区,如果有,则分割字符串,更改地区
      Locale local= Locale.getDefault();
      if(!StringUtils.isEmpty(language)){
         String[] split=language.split("_");
         //分割为 国家和地区
         local= new Locale(split[0],split[1]);
      }
        System.out.println(language);
        System.out.println(local.toString());
        return local;
    }
    @Override
    public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {

    }
}

写完后向spring容器中注入这个组件

@Controller
public class indexController {
    @RequestMapping("index.html")
    public  String index(){
        return "index";
    }
    @Bean
    public LocaleResolver localeResolver(){
        return new MyLocalResovel();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值