Навигация в стиле продолжения с помощью JSF - возврат на предыдущую страницу - PullRequest
1 голос
/ 01 декабря 2011

Я создаю сайт, на каждой странице которого есть ссылка «зарегистрироваться», чтобы пользователь мог зарегистрироваться в любое время.

Когда пользователь нажимает эту ссылку, он попадает в регистрационную форму и может зарегистрироваться.

Я бы хотел, чтобы результат "command" кнопки commandButton в форме регистрации возвратил пользователя на его предыдущую страницу.

Я не могу найти хороший способ сделать это в JSF. Мой текущий план состоит в том, чтобы передать текущий viewId на страницу регистрации, например:

<h:link outcome="signup?from=#{facesContext.viewRoot.viewId}">

Но я действительно не думаю, что это лучший способ. Есть предложения?

1 Ответ

1 голос
/ 01 декабря 2011

Возможно, это не самый лучший способ, но это определенно самый простой способ.

Я не уверен, почему это не "лучший".Это из-за того, что from отображается в URL как параметр запроса?Ну, вы всегда можете сделать это POST-запросом с <h:commandLink> и передать параметр как <f:param> (что также возможно (и рекомендуется!) На <h:link>, кстати), а затем сохранить его в виде или, возможно,боб сессионной области.Ссылка POST на страницу регистрации менее удобна для пользователя и оптимизирована для SEO, но она более надежна в отношении отслеживания, потому что тогда нельзя было бы добавить в закладки или поделиться URL-адрес страницы с параметром from внутри, что дало бы неожиданные результаты после того, как кто-то еще вошел в систему.основанный на закладке или общей ссылке.

В любом случае, «лучшее» зависит от функциональных требований и (не) преимуществ всех возможных решений.Вы просто должны перевесить одно или другое, чтобы наилучшим образом удовлетворить функциональные требования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...