Как изменить URL и шаблон страницы после входа в систему? - PullRequest
0 голосов
/ 23 февраля 2012

Я работаю над веб-приложением JSF и Hibernate с ICEfaces. Я использую два шаблона Facelets, один для страницы входа и один для остальной части сайта.

Проблема в том, что когда я нажимаю на кнопку входа в систему, она переходит на домашнюю страницу, но без изменения URL-адреса или шаблона. Когда я ввожу правильный URL, он переходит на него и отображает правильный шаблон.

Я знаю, что ICEfaces использует Ajax и частично обновляет страницу, но я хочу знать, как это остановить, я хочу, чтобы она загружала всю запрашиваемую страницу.

1 Ответ

1 голос
/ 23 февраля 2012

Просто отправьте редирект после входа в систему.Это можно сделать, добавив параметр запроса faces-redirect=true к результату навигации.

public String login() {
    // ...

    return "home?faces-redirect-true";
}

Или, если вы все еще используете древний JSF 1.x с <navigation-case> s в faces-config.xml,вы можете добиться того же, добавив <redirect /> к <navigation-case>, о котором идет речь.

<naviagation-case>
    <from-outcome>home</from-outcome>
    <to-view-id>/home.jsf</to-view-id>
    <redirect />
</navigation-case>
...