Hi Helmut,

As per ur code, u give the location of a PDF doc on the server.

Which when referred then that would be downloaded.

But what if a pdf doc is generated within a javacode, say with Jasper Reports.

How can i pass that pdf doc generated in runtime to the jsp page and display 
that ?

Thnx in Advance,

Regards,
Madan
 

----- Original Message ----
From: Bernd Bohmann <[EMAIL PROTECTED]>
To: MyFaces Discussion <[email protected]>
Sent: Tuesday, 27 February, 2007 4:25:31 AM
Subject: Re: [Tobago] Problem with PDF download and Ajax

Hello Helmut,

just solved see:

http://issues.apache.org/jira/browse/TOBAGO-303

Should be available with the next nightly build

Regards


Bernd

H. Swaczinna wrote:
> Hi,
> 
> I've a page with a link to download a PDF file. The PDF download itself
> works without a problem. But after a download Ajax requests don't work
> anymore, for example a popup or a tabGroup with reloadTab.
> 
> Here's a small testcase for this behavior.
> 
> The page:
> 
> <%@ taglib uri="http://myfaces.apache.org/tobago/component";; prefix="tc" 
> %><%@ taglib uri="http://java.sun.com/jsf/core";; prefix="f" 
> %><%@ page contentType="text/html;charset=UTF-8" language="java" 
> %><%@ page pageEncoding="UTF-8" 
> %><f:view
>  ><tc:page id="testPage" width="300px" height="200px">
>     <tc:panel>
>       <f:facet name="layout">
>         <tc:gridLayout cellspacing="0" 
>           rows="fixed;fixed"/>
>       </f:facet>
>       <tc:link id="pdfLink"
>         label="PDF"
>         immediate="true"
>         transition="false"
>         actionListener="#{anlagenController.showPDFActionListener}">
>         <f:attribute name="file" value="test1.pdf"/>
>       </tc:link>
>       <tc:link id="ajaxLink"
>         label="Ajax">
>         <tc:attribute name="renderedPartially" value="testPopup"/>
>         <f:facet name="popup">
>           <tc:popup id="testPopup" width="300" height="200">
>             <tc:button id="closeButton" 
>               label="Close">
>               <tc:attribute name="popupClose" value="immediate"/>
>             </tc:button>
>           </tc:popup>
>         </f:facet>
>       </tc:link>
>     </tc:panel>
>   </tc:page>
> </f:view>
> 
> The java code for the PDF download:
> 
>   public void showPDFActionListener(ActionEvent e) {
>     String filename = (String)e.getComponent().getAttributes().get("file");
>     sendFile(attachmentPath, filename, "application/pdf");
>   }
> 
>   protected void sendFile(String filepath, String filename, String mimeType) {
>     File file = new File(filepath, filename);
>     if (file.exists() && file.isFile()) {
>       try {
>         InputStream in = new FileInputStream(file);
>         FacesContext facesContext = FacesContext.getCurrentInstance();
>         HttpServletResponse response = 
>           
> (HttpServletResponse)facesContext.getExternalContext().getResponse();
>         response.setContentType(mimeType);
>         response.setContentLength(in.available());
>         response.setHeader("Content-disposition", 
>             " attachment;filename=\"" + filename + "\"");
>         ServletOutputStream out = response.getOutputStream();
>         byte[] buffer = new byte[0x10000];
>         while (in.read(buffer) > 0) {
>           out.write(buffer);
>         }
>         in.close();
>         out.close();    
>         StateManager stateManager = 
> (StateManager)facesContext.getApplication().getStateManager();
>         stateManager.saveSerializedView(facesContext);     
>         facesContext.responseComplete();
>       } catch (Exception x) {
>         getLog().error("Error writing output", x);
>       }
>     } else {
>       getLog().error("File " + file.getAbsolutePath() + " not found");
>     }
>   }
>  
> I think there's a problem with Ajax when a page submit has no result.
> 
> Regards
> Helmut
> 







                
__________________________________________________________
Yahoo! India Answers: Share what you know. Learn something new
http://in.answers.yahoo.com/

Reply via email to