Ответ 1
он предотвращает "проблему с двойным отправкой"
Никогда не показывать страницы в ответ на POST
Всегда загружать страницы с помощью GET
Перейдите с POST на GET, используя REDIRECT
У меня возникли проблемы с ActionMessages
, созданным во время выполнения действия, которое не отображалось, и я обнаружил, что мои проблемы были связаны с моими форвардами, имеющими redirect=true
в struts-config.xml.
Поскольку поведение по умолчанию redirect=false
, я думал о том, какие преимущества могут использовать redirect=true
, и я не мог найти ответа. Кто-нибудь знает, когда и почему redirect=true
следует использовать в действии вперед?
он предотвращает "проблему с двойным отправкой"
Никогда не показывать страницы в ответ на POST
Всегда загружать страницы с помощью GET
Перейдите с POST на GET, используя REDIRECT
Redirect отправляет ответ браузеру, который заставляет браузер делать новый запрос. С точки зрения сервера браузер просто делает новый запрос (хотя и автоматически). Некоторые характеристики перенаправления:
На сервере происходит переадресация. Браузер не участвует в этом. Некоторые характеристики вперед:
Итак, это зависит от того, чего вы хотите достичь. Вперед, как правило, говорят быстрее. Но если пользователь должен иметь возможность закладки нового местоположения, это не вариант.
Если вы укажете
redirect="true"
, Struts использует перенаправление на стороне клиента [response.sendRedirect()
]. JSP будет вызван новым запросом браузера, и любые данные, хранящиеся в старом запросе, будут потеряны.