jeecg登录页面国际化

80 阅读1分钟

需求如下

官方版本只能选择之后,登录进去才能显示国际化效果.但现在项目需要切换下拉框选择语言后,登录页也能立刻显示对应语言的页面.

中文

image.png

英文

image.png

实现代码:

在LoginController方法中加入(需要给该接口跳过权限验证,项目是在xml文件中配置,有的是通过注解)

@JAuth(auth = Permission.SKIP_AUTH)

/**
 * 登录页面国际化切换
 * @param req
 * @return
 */
@RequestMapping(params = "`switchLanguage`")
public String `switchLanguage`(HttpServletRequest req) {
   // 语言选择
   String langCode = req.getParameter("langCode");
   if (langCode != null) {
      HttpSession session = req.getSession();
      session.setAttribute("lang", langCode);
   }
   return "login/login";
}

在login.jsp中加入下拉框选择语言的方法

//登录页面国际化切换
    function  `switchLanguage`() {
        $.ajax({
           url:"loginController.do?switchInternational&langCode=" + $("#langCode").val(),
           type:"GET",
           success:function (data) {
               window.location.reload(true);//强制从服务器重新加载当前页面
           }
        });
    }