Вопрос по jsf, redirect, managed-bean – Как перенаправить после входа в систему?

1

Я имею имя пользователя и пароль, привязанные к управляемому компоненту поддержки. В бэк-бине, когда я проверяю имя пользователя и пароль с помощью БД, я хочу перенаправить страницу сlogin.xhtml вhome.xhtml, Как я могу это сделать?

Вы используете JSF 2 или JSF 1.x? Daniel
@Daniel: на основе его истории вопросов, JSF 2.0. BalusC

Ваш Ответ

1   ответ
6

faces-redirect=true параметр.

Например.

public String login() {
    User found = userService.find(username, password);

    if (found != null) {
        this.user = found;
        return "home?faces-redirect=true"; // Will redirect to home.xhtml.
    }
    else {
        addGlobalErrorMessage("Unknown login, please try again");
        return null; // Will stay in current view (and show error message).
    }
}
Хорошо понял. Теперь расскажите, пожалуйста, как это работает? Перенаправление лиц - это зарезервированный параметр, верно? а также скажите мне, что он работает. Mudassir Shahzad
А потом ? Я имею в виду, где я могу использовать эту возвращенную строку? У меня есть страница login.xhtml, с которой связан bean-компонент login.java. С помощью этого метода, как мне перенаправить пользователя на новую страницу? Mudassir Shahzad
По умолчаниюNavigationHandler Реализация обрабатывает навигацию. JSF с открытым исходным кодом, просто проверьте его источник. Все это четко указано вJSF specification, В нем явно упоминается поддержкаfaces-redirect также.
Что вы пробовали? Как это не работает для вас? Вам больше ничего не нужно делать. Новая страница должна появиться, если ID представления правильный. Приведенный выше ответ предполагает, что онhome.xhtml который находится в той же папке, что иlogin.xhtml.

Похожие вопросы