-
Notifications
You must be signed in to change notification settings - Fork 9
LocaleServlet #1
Copy link
Copy link
Open
Description
Я сразу заметил проблему, Денис из header достаёт ссылку, которая уже с параметром, и кладёт туда новый параметр. Оно-то работает.... Однако, если играться туда-сюда то, каждый раз ссылка будет только увеличиваться:
http://localhost:8080/login?lang=de_DE?lang=en_US?lang=de_DE?lang=en_US?lang=de_DE?lang=en_US?lang=de_DE?lang=en_US
у меня слегка код подругому написан, но суть одинаковая, я отрезаю реджекс предыдущие параметры. И второй момент, мне не очень понятно, зачем пользователя отправлять на страницу авторизации, если он меняет язык? Ну, это моё, субъективное. Так-то, Денис молодец. Мозговитый парень. 😃
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
var langValue = req.getParameter("lang");
if (langValue == null) {
langValue = "us_US";
}
req.getSession().setAttribute("lang", langValue);
var previousPage = req.getHeader("referer").replaceAll("\\?lang=.*", "");
resp.sendRedirect(previousPage + "?lang=" + langValue);
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels