该插件似乎无法正常工作。
这是我在 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/