2012-05-05 8 views
2

私はiReport 4.5.0,春3.0.5リリースで作業しています。私はthis linkを私のプロジェクトのサンプルとして使用しています。なぜなら、それは私の要求に正確に合致しているからです。私のpdfレポートの適切な名前を表示

私のコードの流れはこのようにまったく同じです。しかし、問題は、私はそれがダウンロードのプロンプトを与えているpdfレポートを表示しているとき、それはpdfを開くとして与えているが、そのpdfの代わりに私はレポート名が欲しい。

どうすれば入手できますか?私はcsvファイルのために同じ状況を持っています。

ありがとうございました。

答えて

2

レスポンス・オブジェクトを変更する場合は、あなたが得る:破損したコンテンツのエラーを。 あなたはこのように、ジャスパー・view.xmlに値を設定する必要があります。

<bean id="pdfReport" 
     class="org.springframework.web.servlet.view.jasperreports.JasperReportsPdfView" 
     p:url="classpath:chathuranga-sample-report.jrxml" 
     p:reportDataKey="datasource"> 

     <property name="headers"> 
     <props> 
      <prop key="Content-Disposition"> 
       attachment; filename=pdffilename.pdf 
      </prop> 
     </props> 
    </property> 
</bean> 

は、このヘルプを願っています。

+0

はいありがとうございました...それは私のために働いた... – rupa

1

あなたはおそらく応答にコンテンツ-dispositionヘッダーを設定する必要があります。

response.setHeader("Content-disposition", "attachment; filename=" + fileName); 

fileNameは、ブラウザがPDFレポートに表示するファイルの名前であること。

+0

こんにちはJB Nizet reply.Ifを与えるためのおかげで、あなたは、我々は(generatePdfReportを持っているという点でReportsControllerクラスを持っているという点で、そのリンクを参照してください)。ファイル名は、その上のベースビュー名を返すことmethod.Itで言及されていませんそれはJasperReportsPdfViewクラスに行くと、私はあなたがplzは私の下手な英語のためclear.Sorryビットすることができ、ファイル名を与えることができる方法report.Soが表示されていること。 – rupa

+0

ファイル名を決定します。 HttpServletResponse引数をgeneratePdfReport()メソッドに追加し、メソッド内に 'response.setHeader(" Content-disposition "、" attachment; filename = Users.pdf ");'というコードを追加します。ブラウザで表示されるファイル名は "Users.pdf"になります。別の名前が必要な場合は、Users.pdfを名前として置き換えてください。 –

+2

前のコメントで言及した通りに、pdfボタンをクリックすると以下のエラーが表示されます。データ送信のエラーが検出されたため、表示しようとしているページを表示できません。 – rupa

関連する問題