java国际化开发(系统提醒模块)

使用教程

 

 

废话少说 直接上代码

拦截器中加入如下配置

@Component
public class TokenInterceptor implements HandlerInterceptor {


    @Override
    public boolean preHandle(HttpServletRequest request,
                             HttpServletResponse response,
                             Object handler) throws SignatureException {
        String language = request.getHeader(Lange.KEY);
        if (StringUtils.isEmpty(language)) {
            language = Lange.CHINESE;
        }
        LanguageThreadLocal.setLanguage(language);
    
        
        return true;
    }

}
LanguageThreadLocal类
package com.example.pidog2.threadLocal;


public class LanguageThreadLocal {
    private LanguageThreadLocal() {
    }

    private static final ThreadLocal<String> Language = new ThreadLocal<>();

    /**
     * 存储当前语言
     */
    public static void setLanguage(String lang) {
        Language.set(lang);
    }

    /**
     * 获取当前语言
     */
    public static String getLanguage() {
        return Language.get();
    }
}
package com.example.pidog2.definition;

public class Lange {
    //Key值
    public static final String KEY = "LANGE";



    public static final String ENGLISH = "EN";

    public static final String CHINESE = "CN";


}
package com.example.pidog2.exception;




public enum ExceptionLangeVo {
    CHECK_ERROR(405, "验证码错误", "Verification code error"),
    PHONE_NUMBER_EXISTS(409, "手机号已存在", "phone number already exists"),
    USER_NAME_EXISTS(410, "用户名已存在", "login name already exists"),
    LOGIN_EXPIRED(401, "登录过期", "Login expired"),
    LOGIN_ERROR(402, "账号或密码错误", "userName or Password input error"),
    USER_NOT_FOUND(403, "用户不存在", "userName is not found"),
    STOP(407, "用户被封禁", "Account deactivated");

    ExceptionLangeVo(Integer code, String msgCn, String msgEn) {
        this.msgCn = msgCn;
        this.msgEn = msgEn;
        this.code = code;
    }
    private Integer code;

    private String msgCn;

    private String msgEn;

    public Integer getCode() {
        return code;
    }

    public String getMsgCn() {
        return msgCn;
    }

    public String getMsgEn() {
        return msgEn;
    }
}
package com.example.pidog2.util;

import com.example.pidog2.definition.Lange;
import com.example.pidog2.exception.ExceptionLangeVo;
import com.example.pidog2.threadLocal.LanguageThreadLocal;

public class ExceptionLangeUtil {

    public static String getMsgByLange(Integer code){
        for (ExceptionLangeVo value : ExceptionLangeVo.values()) {
            if(value.getCode().equals(code)){
                if(LanguageThreadLocal.getLanguage().equals(Lange.ENGLISH)){
                    return value.getMsgEn();
                }
                return value.getMsgCn();
            }
        }
        throw new RuntimeException();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值