【问题标题】:Spring Thymeleaf download a generated reportSpring Thymeleaf 下载生成的报告
【发布时间】:2020-04-28 08:24:13
【问题描述】:

我有一个简单的 thymeleaf 表单,其中包含一个作为报告类型的下拉列表和一个用于生成所选报告的按钮。我需要提供浏览器的另存为/打开窗口,以便用户可以看到报告。

报表执行的结果可能是

A/ 报告本身。在这种情况下,我需要提供一个 HttpServletResponse。

B/ 报告为空。在这种情况下,我需要使用向用户显示消息的 Model 属性重新加载视图。

C/ 报告生成期间的任何类型的错误。在这种情况下,我会记录错误,并使用稍微不同的消息重新加载视图,通知用户该问题。这也通过 Model 属性进行管理。

在生成报告时,我会隐藏“生成”按钮并显示进度条。

到目前为止,我正在提交表单。当有 B 或 C 时,它运行良好。但在 A 中,我不知道如何赶上提交完成。所以,我可以显示按钮并隐藏进度条。

【问题讨论】:

    标签: spring-boot thymeleaf


    【解决方案1】:

    在报告生成结束时,您可以在 HTML 页面上提供一个链接,该链接将重定向到一个端点,该端点返回一个带有 InputStreamResource 正文的 ResponseEntity(有关详细信息,请参阅 Return a stream with Spring MVC's ResponseEntity

    【讨论】:

    • 是的,但在这种情况下,用户必须点击两次。我希望在报告准备好时自动显示另存为对话框。但 UI 也必须刷新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    相关资源
    最近更新 更多