レンダリングプラグインを使用して単純なテンプレートをPDFに保存しようとしていますが、何を試しても機能しません。必要なのは、サーバー上のファイルシステム内にファイルを保存し、別のページにリダイレクトすることだけです。
現時点では、pdfテンプレートはhello worldを出力するだけなので、パラメーターは必要ありません。これが機能するようになったら、いくつかのデータを追加しようとします。
'/'が追加されていない場合、コントローラーを指定する必要があるというエラーが表示されます。しかし、私はこれを無駄に追加しようとしました。さらに、このアクションが宣言されているコントローラーを指定しようとしたため、どのコントローラーが必要かわかりません。
誰かがこれを見て、私が間違っていることを教えてもらえますか?
RenderingService pdfRenderingService
def displayPDFSummary = {
ByteArrayOutputStream bytes = pdfRenderingService.render(template: "_pdfTemplate", controller:"RSSCustomerOrder", model: [origSessionId:params.origSessionId])
def fos= new FileOutputStream('NewTestFile.pdf')
fos.write(bytes)
fos.close()
render(template: "_pdfTemplate", params: [origSessionId:params.origSessionId])
}
コンソールに次のエラーメッセージが表示されます。
groovy.lang.MissingMethodException: No signature of method: java.io.FileOutputStream.write() is applicable for argument types: (java.io.ByteArrayOutputStream)
(Then prints contents of template...)
Possible solutions: write([B), write(int), write([B), write(int), wait(), wait(long)