У меня есть простая форма чабреца с раскрывающимся списком типов отчетов и кнопкой для создания выбранного отчета. Мне нужно предоставить окно браузера «Сохранить как / открыть», чтобы пользователь мог видеть отчет.
Результатом выполнения отчета может быть
A / сам отчет. В этом случае мне нужно предоставить HttpServletResponse.
B / отчет пуст. В этом случае мне нужно перезагрузить представление с атрибутом Model, показывающим сообщение пользователю.
C / любой вид ошибки во время генерации отчета. В этом случае я регистрирую ошибку и перезагружаю представление с немного другим сообщением, информирующим пользователя о проблеме. Это также выполняется с помощью атрибута модели.
Пока создается отчет, я скрываю кнопку «Создать» и показываю индикатор выполнения.
На данный момент я делаю отправку формы. Хорошо работает, когда есть B или C. Но в ИИ не знаю, как догнать, что подача окончена. Итак, я могу показать кнопку и скрыть индикатор выполнения.