如何在 JSP 上设置用户的区域设置

问题描述 投票:0回答:1

我有一个用户直接加载的.jsp页面。使用如下 URL 请求它:

http://www.example.com/myfile.jsp?country=CA&language=fr

在 JSP 中,我提取 URL GET 参数并尝试使用它们设置区域设置,如下所示:

<%
    String myLanguage = request.getParameter("language");
    String myCountry  = request.getParameter("country");

    Locale myLocale = new Locale(myLanguage, myCountry);
    pageContext.setAttribute("myLocale", myLocale, PageContext.PAGE_SCOPE);
%>

JSP 中有几个地方可以使用 Struts 中的

<bean:message bundle="ts" key="..." />
显示从本地化资源包中提取的消息。

首次请求此页面时(更改 URL 中的语言后),将以美国英语(默认区域设置)返回,然后后续刷新将返回正确本地化的内容。

jsp localization
1个回答
2
投票

我不使用 Struts,但 Google 了解到您需要将

Locale
设置为会话属性,并以
Globals.LOCALE_KEY
作为键。

session.setAttribute(Globals.LOCALE_KEY, myLocale);

您实际上不需要 JSTL

fmt:setLocale

也就是说,我会在单个

Filter
中执行此操作,而不是在每个 JSP 中执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.