Кнопка «Отправить» + История GWT

Хорошее дизайнерское решение при отправке формы, каким должно быть поведение кнопки браузера «назад», а затем «вперед». Аналогичный вопрос: что должно произойти, когда пользователь выходит из приложения, а затем нажимает кнопку браузера «вперед»?

Буду рад услышать несколько сценариев для упомянутых ситуаций.

Спасибо.

Изменить - должно быть хорошо, чтобы поделиться и моей точкой зрения :-)

Мое личное мнение: после выхода из системы пользователь не сможет войти в приложение, не пройдя страницу входа. Для сценария отправки - после отправки и кнопки браузера "Назад" пользователь должен иметь возможность вернуться к форме, но без данных, содержащих данные.


person adgfs    schedule 28.06.2011    source источник


Ответы (2)


Одним из распространенных шаблонов является Post/Redirect/Get. В соответствии с этим шаблоном результатом публикации является страница с закладками (и возможностью навигации вперед/назад). Кнопка «Назад» имеет одно из обычных значений: «Я не хотел идти сюда, верните меня туда, где я был», например нажатие ESC в большинстве диалогов Windows, а кнопка «Вперед» означает «Я не хотел нажимать назад». кнопку, я все-таки хотел эту страницу». Этот шаблон не будет работать для всех; имеет смысл, когда каждая страница (включая ответ на отправку формы) представляет некоторую концептуальную сущность, которую вы хотите добавить в закладки.

Что касается сценария выхода из системы, большинство приложений проверяют, вошли ли вы в систему, независимо от того, какая страница указана в URL-адресе, и перенаправляют на форму входа, если вы не вошли в систему. страница; чек обычно представляет собой Valve или что-то в этом роде.) Хорошая функция — запоминать, куда пользователь пытался перейти, и направлять его туда после успешного входа в систему.

Ваш вопрос больше касается дизайна, чем технологии, поэтому GWT на самом деле не меняет картину, за исключением того, что механизм истории GWT предназначен для имитации поведения статических страниц, связанных ссылками, что также делает шаблон post/redirect/get .

person gatkin    schedule 28.06.2011
comment
Спасибо Гаткин, очень полезно. :) - person adgfs; 29.06.2011

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

Чтобы добавить эту функциональность, вы можете написать свой собственный код, жестко запрограммировав конечный автомат в своем коде, или вы можете использовать одну из доступных библиотек. Например, Spring Web Flow предоставляет эту функциональность для среды Spring.

person salman.mirghasemi    schedule 28.06.2011
comment
Спасибо, что поделились со мной своим мнением :) - person adgfs; 28.06.2011