我有一个使用 StreamResult 的 Struts2 Action流式传输文件。该文件是一个可能非常大的报告。我想设置一个标志来限制用户一次只能下载一个。在我的操作中,我可以设置标志,但是当流完成时我没有地方可以取消设置。
在 Struts 之前,我会设置标志,写入 Servlet 的 OutputStream,然后取消设置标志。但对于 Struts,Action 只需将流设置为变量,然后 Action 就完成了。然后,Struts(在 struts.xml 中设置)在我无法控制的地方进行发送。
最佳答案
我认为您应该创建一个拦截器来包装此下载操作,并且它可以锁定/解锁当前用户的访问权限。请参阅http://struts.apache.org/2.x/docs/interceptors.html了解更多信息。
关于java - 使用 Struts2 一次下载一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13317028/