Проблема
Браузер (firefox) не загружает сайт из-за бесконечного перенаправления. Каким-то образом вы перенаправляете на одну и ту же страницу снова и снова, поэтому firefox прекращает запросы для сохранения производительности.
Так что, поскольку вы не отредактировали вопрос, чтобы быть более точным, я могу привести только пример проблемы, подобной вашей.
Представьте, что вы на сайте test
и на этом сайте вы выполняете некоторые действия и на основе некоторых результатов вы хотите go на страницу test
(так refre sh) или abc
. Каким-то образом результат всегда один и тот же, поэтому вы перенаправляете навсегда, и firefox останавливает его, чтобы не терять производительность.
ИЛИ
Аналогично предыдущему примеру: представьте, что у вас есть сайты и одно перенаправление на другой, чтобы вы go с test
до abc
и затем вернулись навсегда. (Я не думаю, что firefox распознает и остановит это)
Решение
Решение этой проблемы довольно простое: просто добавьте if
заявление перед вами редирект, так что вы будете перенаправлять только тогда, когда вы не на этом сайте.
ИЛИ
Передать информацию, которую действие не должно перенаправлять.
Пример 1:
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
if (!"yourSite".equals(request.getRequestURI()) {
return "/yourSite.xhtml";
} else {
return null;
}
Пример 2:
Редактировать
В вашем case Я бы также добавил if
-статист, чтобы проверить, не находитесь ли вы на текущем сайте, который хотите перенаправить.
Примерно так:
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
if (!"home".equals(request.getRequestURI()) {
return "home";
} else {
return null;
}
То же самое относится и к after_login
. Просто замени дом на это. Тогда это должно работать.
Некоторые связанные вопросы:
Нет перенаправления после нажатия кнопки