gpt4 book ai didi

java - 使用 Java 过滤器更改区域设置不起作用

转载 作者:行者123 更新时间:2023-12-01 17:30:38 26 4
gpt4 key购买 nike

我尝试使用 Java 过滤器更改区域设置,但以下代码不起作用,因为 JSP 页面仍以英语呈现:

public class PreferenceFilter implements Filter {

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {

HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;

Locale locale = StringUtils.parseLocaleString("fr");

res.setLocale(locale);
chain.doFilter(req, res);
}
}

我也在使用 Spring MVC,并且我们使用自己的翻译系统来获取不同语言环境的翻译:

<bean id="messageSource"
class="com.mycompany.web.translations.DatabaseDrivenMessageSourceImpl" scope="singleton">
<property name="cacheSeconds" value="3"/>
<property name="defaultEncoding" value="UTF-8"/>
</bean>

最佳答案

如果您使用 JSTL 来国际化您的 JSP,这是正常的:JSTL 不会从响应中获取区域设置,而是从配置的范围参数中获取区域设置,或者如果未设置区域设置,则从请求中获取区域设置。

使用

Config.set(request, Config.FMT_LOCALE, locale);

其中 Config 是类 javax.servlet.jsp.jSTL.core.Config。

关于java - 使用 Java 过滤器更改区域设置不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11298168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com