我正在尝试找出一种通过 Spring 3 Portlet 提供 CSV 下载的方法。我有一个方法,它使用@ResourceMapping
注释来定义一个处理程序,该处理程序以 a 的形式获取一些报告参数@ModelAttribute
,构建报告并返回它。我遇到的 catch-22 正在验证从客户端表单发送的参数。
如果我使处理程序 a @ResourceMapping
,我可以设置标题并使用 写出报告ResourceResponse
,但我似乎无法弄清楚当用户的输入验证失败时如何将用户重定向回出现错误的 Portlet 视图。但是,如果我将其设为@ActionMapping
,然后我可以检查BindingResult
s 并根据需要将它们转发回表单,但ActionResponse
不允许我设置 Content-Disposition 标头或写出 CSV 字节,这有点关键用于发回报告。
我在这里完全不知所措,因为我什至不知道我的选择是什么。甚至可以用 Portlet 做我想做的事情吗?还有其他示例我可以查看可能的解决方法吗?