you yamamoto
youy7****@gmail*****
2011年 8月 25日 (木) 14:29:29 JST
はじめまして。山本と申します。 動的に作ったPDFをダウンロードではなく、表示させたいのですが、 なかなかうまくいかないので、質問させてください。 ここのメーリングリストの過去の投稿を参考にして、 以下のようにつくってみたら、PDFを表示することはできたのですが、 なんか例外が発生してしまっているので、困っています。 例外を回避する方法をご存知な方がいらっしゃればおしえてください。 また、以下の方法よりもいい方法があれば、ご教授くださればとおもいます。 Page.html抜粋 ------------------------------------ <input type="submit" wicket:id="printLink" value="PDF" /> ------------------------------------ Page.java抜粋(コンストラクタの部分) ------------------------------------ Button printLink = new Button("printLink"){ private static final long serialVersionUID = 1L; @Override public void onSubmit() { //動的に作ったPDFがaiueo.pdfというファイル名だとします。 IResourceStream stream = new FileResourceStream(new File("aiueo.pdf")); // responseを取得 WebResponse response = (WebResponse) getResponse(); // ヘッダー設定 response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "inline"); // responseのOutputStreamにPDFのStreamをセット try { OutputStream os = response.getOutputStream(); InputStream in = stream.getInputStream(); int iData = 0; while ((iData = in.read()) != -1) { os.write(iData); } os.close(); in.close(); }catch (Exception e) { throw new RuntimeException(e); } //responseをセット setHeaders(response); } }; form1.add(printLink); this.add(form1); ------------------------------------ 発生する例外 ------------------------------------ org.apache.wicket.protocol.http.WebResponse redirect 致命的: Unable to redirect to: ?wicket:interface=:6::::, HTTP Response has already been committed. org.apache.wicket.protocol.http.WicketFilter doGet 致命的: closing the buffer error java.lang.IllegalStateException at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:473) at org.apache.wicket.protocol.http.WebResponse.sendRedirect(WebResponse.java:299) at org.apache.wicket.protocol.http.WebResponse.redirect(WebResponse.java:250) at org.apache.wicket.protocol.http.BufferedWebResponse.close(BufferedWebResponse.java:67) ------------------------------------ 環境 ------------------------------------ tomcat7 JDK 1.6 Wicket 1.4.18 ------------------------------------ 以上、よろしくお願いします。 -------------- next part -------------- HTMLの添付ファイルを保管しました... ダウンロード