Это сообщение может быть помечено как asp.net, но я думаю, что это независимая от платформы проблема, которая мучает всех новых веб-разработчиков, поскольку они ищут «чистый» способ сделать это.
Я думаю, что для достижения этого есть два варианта:
- Параметр в URL
- URL-адрес, сохраненный в сеансе
Мне не нравится метод url, он немного запутанный, и вы должны помнить, что нужно включать параметр в каждый соответствующий URL.
Я бы просто использовал для этого объект со статическими методами. Объект будет оборачиваться вокруг элемента сеанса, который вы используете для хранения URL-адресов перенаправления.
Методы, вероятно, будут следующими (все общедоступные статические):
- setRedirectUrl (строковый URL)
- doRedirect (строка defaultURL)
setRedirectUrl вызывается в любом действии, которое создает ссылки / формы, которые необходимо перенаправить на заданный URL-адрес. Допустим, у вас было действие просмотра проектов, которое генерирует список проектов, в каждом из которых есть задачи, которые могут быть выполнены над ними (например, удаление, редактирование), которые вы бы назвали RedirectClass.setRedirectUrl ("/ project / view-all") в коде для это действие.
Затем, допустим, пользователь нажимает кнопку «Удалить», его необходимо перенаправить на страницу просмотра после действия удаления, поэтому в действии удаления вы должны вызвать RedirectClass.setRedirectUrl («/ project / view-all»). Этот метод проверяет, была ли установлена переменная перенаправления в сеансе. Если это так, перенаправьте на этот URL. Если нет, перенаправьте на URL-адрес по умолчанию (строка, переданная методу setRedirectUrl).