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>