Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > (Visual JSF) Как перйти на другую страницу?


Автор: bio_hazard 30.3.2009, 11:47
Пишу небольшое приложение с ипользовнием jsf, использую netbeans visual jsf. В данный момент работаю над страницей регистрации пользователей(login,password и тд). Сейчас столкнулся с такой проблемой - по нажатию кнопки "OK" нужно выполнить провеку всех улсовий (есть ли уже такой логин в бд, размер пароля ,чтобы был не меньше 6 знаков и тд) и если все хорошо, то занести данные в БД. Это вобщем все легко получилось сделать, но сейчас не знаю ,как после успешной регистрации сделать перевод на главную страницу, вернее знаю один способ, добавить еще одну кнопку и по ее нажатию переводить на главную,но это конечно совсем не вариант.

Автор: powerOn 30.3.2009, 11:48
смотрите в сторону Navigation Rules.

Автор: bio_hazard 30.3.2009, 11:58
Цитата(powerOn @ 30.3.2009,  11:48)
смотрите в сторону Navigation Rules.

Но я как понимаю, navigation rules сработают только при нажатие кнопки? Мне нужен переход в зависимости от условия...
Navigation Rules  смотрю.

Я вот сейчас подумал - а можно сделать невидиму кнопку, и потом в нужном мне месте кода симитировать ее нажатие? Это мне помогло бы .

Автор: powerOn 30.3.2009, 12:12
action метод связанный с кнопкой может возвращать различные navigation case-ы, по которым определяется переход. В зависимости от условий Вы можете возвращать нужный case. Настройка navigation rules производится в JSF конфигурационном файле (faces-config.xml).

Автор: ynblpb 30.3.2009, 12:35
В faces-config.xml делаешь условие по которому надо переходить на другую страницу... например так:
Код

<navigation-rule>
        <from-view-id>*</from-view-id>
        <navigation-case>
            <from-outcome>personal</from-outcome>
            <to-view-id>/personallist.jsp</to-view-id>
        </navigation-case>
</navigation-rule>

Это значит что из любой страницы при появлении "ответа" personal будет произведен переход на страницу /personallist.jsp... 
Таким образом в той функции где проверяешь подлинность пользователя, в случае успеха напиши return "personal" и будет счастье smile

Автор: bio_hazard 30.3.2009, 12:42
Спасибо за быстрые ответы, вобщем думаю что понял как надо реализовать правильно.

Автор: bio_hazard 30.3.2009, 13:09
Получилось! Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)