java - 使用 Struts2 一次下载一个

标签 java struts2

我有一个使用 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/

相关文章:

java - 在 Struts 2 中使用自动完成后,没有为操作定义结果

java - 如何正确加密合并的pdf文档

java - android:如何将值从一个广播接收器传递到另一个广播接收器?

java - RecyclerView 适配器与卡片 View 仅显示散列图中的最后一项

java - 简单查询时出现 SQL、JDBC "Invalid column index"错误

redirect - Struts 2拦截器重定向JSP页面

java - ANTLR4 - 使用 Visitor 将语法树转换为 AST

java - 即使关闭连接后,数据仍然存在于 h2 数据库表中

Struts2 UI textarea标签添加 "class"属性用 "class java.util.HashMap"值填充它自己

spring - Struts2 和 Hibernate - 在 Servlet 外部访问 ActionContext.getContext().getSession()