Spring - перенаправление после POST (даже с ошибками проверки)

Заменить эту строку:

StreamWriter sw = new StreamWriter("c:/file.txt");

с помощью этого кода:

StreamWriter sw = File.AppendText("c:/file.txt");

, а затем записать вашу строку в текстовый файл следующим образом:

sw.WriteLine("text content");
61
задан Taylor Leese 30 March 2010 в 16:43
поделиться

3 ответа

Возможно, это немного упрощенно, но пробовали ли вы добавить это в свою модель? То есть, включите модель в аргументы вашего метода, затем добавьте к нему BindingResult, который затем станет доступным в вашем представлении.

model.addAttribute("binding",binding);

Я думаю, вам, возможно, придется использовать переадресацию, а не перенаправление (в голове я не могу вспомнить, теряет ли перенаправление сеанс или нет - я могу ошибаться, так как у меня нет под рукой документации, то есть, если вы не получаете результат BindingResult после его добавления в модель, попробуйте вместо этого использовать переадресацию, чтобы подтвердить это).

-1
ответ дан 24 November 2019 в 17:11
поделиться

Проблема в том, что вы перенаправляете на новый контроллер, а не отрисовываете представление и возвращаете обработанную страницу формы. Вам нужно сделать что-то вроде:

String FORM_VIEW = wherever_your_form_page_resides

...

if (binding.hasErrors())
    return FORM_VIEW;

Я бы оставил пути вне каких-либо методов из-за дублирования кода строк.

1
ответ дан 24 November 2019 в 17:11
поделиться

Единственный способ сохранить объекты между запросами (т. Е. Перенаправление) - это сохранить объект в атрибуте сеанса. Таким образом, вы должны включить «HttpServletRequest request» в параметры метода для обоих методов (т.е. get и post) и получить объект через request.getAttribute («привязка»). Тем не менее, и, поскольку вы не пробовали это лично, вам может потребоваться выяснить, как повторно привязать привязку к объекту в новом запросе.

Еще один «неприятный» способ - просто изменить URL-адрес браузера с помощью javascript

1
ответ дан 24 November 2019 в 17:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: