Мое приложение поддерживает более язык. Проблема заключается в выходе пользователя из системы (что означает, что я вызываю getSession().invalidate()
), тогда текущий язык будет потерян и будет создан новый сеанс с языком по умолчанию.Как сохранить текущий язык, когда недействительный сеанс в калитке
Язык устанавливает по ссылке:
add(new Link<Void>("goSk") {
private static final long serialVersionUID = 1L;
@Override
public void onClick() {
getSession().setLocale(new Locale("sk", "SK"));
}
});
add(new Link<Void>("goEn") {
private static final long serialVersionUID = 1L;
@Override
public void onClick() {
getSession().setLocale(Locale.US);
}
});
Так вопрос состоит в том, как я должен держать текущий язык, когда я invaliate сеанса
Вы считали сохранение своих пользовательских настроек в базе данных? –
да, но это параметры, которых я хочу избежать, потому что когда пользователь выходит из системы, тогда нет пользователя, и я думал, что калитка поддерживает каким-то образом, как сохранить некоторые вещи с недействительным сеансом. – hudi
В принципе вам нужно начать новый сеанс (с " public user "pirncipal), передавая локаль в качестве параметра на общедоступную страницу, где начинается новый сеанс. –