私たちのために生成されたPDFをユーザーに返す必要がある使用例があります。この場合、ResponseEntityを利用する必要があるようですが、明確ではないことがいくつかあります。
Spring 3.0.5を使用しています。以下のサンプルコード:
@Controller
@RequestMapping("/generate/data/pdf.xhtml")
public class PdfController {
@RequestMapping
public ResponseEntity<byte []> generatePdf(@RequestAttribute("key") Key itemKey) {
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.setContentType(MediaType.valueOf("application/pdf"));
if (itemKey == null || !allowedToViewPdf(itemKey)) {
//How can I redirect here?
}
//How can I set the response content type to UTF_8 -- I need this
//for a separate controller
return new ResponseEntity<byte []>(PdfGenerator.generateFromKey(itemKey),
responseHeaders,
HttpStatus.CREATED);
}
私は本当に応答を引き込まないようにしたい...私のコントローラーのいずれもこれまでこれまでに行ったことはなく、私はそれをまったく持ち込む必要がありません。
リダイレクト(これらは新しいウィンドウやタブで開くインスタンスです)を処理する代わりに、受信したエラーメッセージを表示することにしました。
これはおそらくすべてでは機能しませんが、エラー/ステータスメッセージを追加する方法では、例外が発生したときにそれらのメッセージをビューに保持することができませんでした。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加