fmt: setBundle не работает должным образом в многопользовательском режиме - PullRequest
0 голосов
/ 09 сентября 2018

JSP страница:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<fmt:setBundle basename="com.commonapp.I18n.JspResourceBundle" var="lang" />    
<fmt:message key="Home" bundle="${lang}" />

Java классы: Есть два файла
JspResourceBundle_fr_FR.class и
JspResourceBundle.class extending ListResourceBundle

Сценарий : после перезапуска приложения, если сначала войти в систему через пользователя с французским языковым стандартом, то другой пользователь с английским языковым стандартом регистрируется через другой браузер. Оба пользователя видят страницу по-французски. Если в обратном порядке, английский пользователь входит в систему, а затем французский пользователь, оба пользователя видят страницу на английском языке.

Первый вошедший в систему пользователь устанавливает пакет, а для второго пользователя он забирается из кэша. Я думаю, это потому, что jsp код скомпилирован в _jsp_service.class с этим пакетом и остается в памяти.

Есть ли способ исправить это в jsp / jstl. Может успешно обработать то же самое, установив метки для конкретной локали из кода Java. Но то же самое должно быть достигнуто с помощью простого jsp, если я не ошибаюсь.

Любое руководство будет оценено.

...