Skip to content

LocaleServlet #1

@hazartilirot

Description

@hazartilirot

Я сразу заметил проблему, Денис из 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);
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions