java - Struts 2,JasperReports 插件 : How to set file name for generated report

标签 java http struts2 jasper-reports jasper-plugin

该插件似乎无法正常工作。

这是我在 struts.xml 中声明的操作:

<action name="actionName" class="isa.presentation.jasper.MyClass">
    <result name="success" type="jasper">
        <param name="location">jasper/courriers/mutuelle.jasper</param>
        <param name="dataSource">resultats</param>
        <param name="format">HTML</param>
        <param name="documentName">xxx</param>
    </result>
</action>

所以对于某些格式(HTML,XML),输出文件的名称不是它应该的(xxx.[格式])而是( Action 的名称).action !!

为什么?能做点什么吗?

问题 2: 对于某些格式(PDF、HTML、XML),文件会直接出现在良好的应用程序中,对于其他格式,会有一个提示询问您是要打开它还是记录它。 HTML 和 XML 格式的问题在于它们直接在浏览器中打开而不是在网站中打开... 那么有没有可能一直出现提示框(无论什么格式)。如果没有,是否可以要求在浏览器的另一个选项卡中打开文件?

最佳答案

我从未使用过 Jasper 结果,但是 according to the documentation ,

1) format 必须是 JasperReportConstants 之一,

然后 FORMAT_HTML 而不是 HTML

2) 您错过了 contentDisposition 参数,它指定了文件名和处置类型(默认内联):

<param name="contentDisposition">inline; filename="yourFileName.html"</param>

<param name="contentDisposition">attachment; filename="yourFileName.html"</param>

Inline 表示您想在浏览器中打开它(如果找到插件), Attachment 表示您要询问是下载它还是使用以下程序打开它你的电脑。

我不明白 documentName 参数代表什么,但您可以尝试用结果更新您的问题;)

总结:

<action name="actionName" class="isa.presentation.jasper.MyClass">
    <result name="success" type="jasper">
            <param name="location">jasper/courriers/mutuelle.jasper</param>
            <param name="dataSource">resultats</param>
            <param name="format">FORMAT_HTML</param>
            <param name="contentDisposition">
                        attachment; filename="yourFileName.html"</param>
            <param name="documentName">yourFileName</param>
    </result>
</action>

关于java - Struts 2,JasperReports 插件 : How to set file name for generated report,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13861776/

相关文章:

java - 如何使用 IDE (Android Studio) 从数据库 MySQL 设置 ArrayList 值?

java - 调用 hibernate session.get 方法

java - 无法以编程方式将 Spark 应用程序(使用 Cassandra 连接器)从远程客户端提交到集群

java - 如何配置 s :url to return the absolute path, 使其不受 html base 的影响?

java - 在 Struts 2 中获取拦截器参数

java - 将ArrayList保存到内存并读取

ruby-on-rails - Nginx/ unicorn : Upstream timed out (110: Connection timed out) while reading response header from upstream

http - .htaccess 按文件类型限制访问

objective-c - 在 iOS 设备上运行网络服务器

java - jsp 中从 struts1 到 struts2 的一些语法更改 --> 逻辑 :messagesPresent