Web アプリに Struts2、Spring、および Hibernate を使用しています。現在、ジャスパー レポート ストラット プラグインを使用して PDF レポートを生成しようとしています。結果の型を struts.xml ファイルに追加します。
<result-types>
<result-type name="jasper" class="org.apache.struts2.views.jasperreports.JasperReportsResult" default="false"/>
</result-types>
アクションの定義:
<action name="vf" class="packaget.InvoiceAction" method="seeInvoice">
<result name="success" type="jasper">
<param name="location">/WEB-INF/reports/invoice.jasper</param>
<param name="dataSource">invoiceSource</param>
<param name="format">PDF</param>
<param name="contentDisposition">filename="Invoice.pdf</param>
<param name="documentName">Invoice.pdf</param>
<param name="reportParameters">invoiceParameters</param>
</result>
</action>
そして、ここに私のアクションクラスがあります:
public class InvoiceAction extends BaseAction implements Preparable {
...
public String seeInvoice(){
List<Invoice> invoice= new ArrayList<Invoice>();
facturas.add(new Invoice());
invoiceParameters.put("message","test");
return SUCCESS;
}
}
ダウンロード ポップアップを生成したいのですが、ブラウザーでレポートを表示したくありません。どうすればこれを強制できますか? contentDisposition
またはdocumentName
params は効果がありません...
前もって感謝します。