百度了一圈,没有找到自己想要的答案,我的业务场景如下:
页面上有两个按钮 <中文> <English>,点击时动态切换国际化方言,从而进行不同方言的URL跳转。
当使用 下面这种写法时,不能实时动态获取,达不到我的要求:
<%@ page import="org.springframework.context.i18n.LocaleContextHolder" %>
<%@ page import="java.util.Locale" %>
<%
String language = LocaleContextHolder.getLocale().getLanguage();
Locale locale = Locale.getDefault();
String language1 = locale.getLanguage();
%>
<c:set var="current_language" value="<%=language%>"></c:set>
<c:set var="current_language1" value="<%=language1%>"></c:set>
<input id="language" value="${current_language}" />
<input id="language1" value="${current_language1}" />
换成另外一种写法,完成:
<c:choose>
<c:when test="${pageContext.response.locale eq 'en'}">
<a href="https://www.easy.org/hb/en/" target="_blank">
<spring:message code="label.navigate.home"/>
</a>
</c:when>
<c:otherwise>
<a href="https://www.easy.org/hb/index.html" target="_blank">
<spring:message code="label.navigate.home"/></a>
</c:otherwise>
</c:choose>
重点使用 jsp 内置对象 ${pageContext.response.locale eq 'en'},仅此记录,希望能帮到有此种业务场景的小伙伴们!