官方版本的只能选择之后,登录进入才能显示国际化效果,而我们需要的是需要下拉切换之后,登录页也要立即显示。 中文
英文
在LoginController方法中加入。
/**
* 登录页切换。
* @param req
* @return
*/
@JAuth(auth = Permission.SKIP_AUTH)
@RequestMapping(params = "switchInternational")
public String switchInternational(HttpServletRequest req) {
// 语言选择
String langCode = req.getParameter("langCode");
if (req.getParameter("langCode") != null) {
HttpSession session = req.getSession();
session.setAttribute("lang", req.getParameter("langCode"));
}
return "login/login";
}
在login.jsp中加入 默认没有选择语言,默认为中文。
<%
Object lang = session.getAttribute("lang");
//默认为中文
if (lang == null) {
session.setAttribute("lang", "zh-cn");
}
SysThemesEnum sysTheme = SysThemesUtil.getSysTheme(request);
String lhgdialogTheme = SysThemesUtil.getLhgdialogTheme(sysTheme);
%>
t:dictSelect修改为,增加onchange方法。
<t:dictSelect id="langCode" field="langCode" typeGroupCode="lang"
hasLabel="false"
extendJson="{style:'padding:2px; width:80px;',onchange='switchInternational()'}"
defaultVal="${lang}"></t:dictSelect>
每次切换成功后,重新加载页面。
//登录页面切换国际化
function switchInternational() {
$.ajax({
url: "loginController.do?switchInternational&langCode=" + $("#langCode").val(),
type: "POST",
success: function (data) {
//location.reload(true);
window.location.reload(true); //强制从服务器重新加载当前页面
}
});
}