hi all,

i have deployed a jsf app that has commandButton linked to 

[code]<h:commandButton actionListener="#{reportForm.renderListener}" 
value="#{example_messages['button_report']}" />[/code]

a backing bean action that streams out a PDF and then calls responseComplete.

[code]
FacesContext context = FacesContext.getCurrentInstance();  
                                HttpServletResponse response = 
(HttpServletResponse)context.getExternalContext().getResponse();
                                                        
byte[] bytes = JasperRunManager.runReportToPdf(  
jasperReportFile.getFile(),parameters, dataSource.getConnection()      );
                                
response.setContentType( "application/pdf" );
response.setContentLength(bytes.length);
response.setHeader( "Content-disposition", 
"attachment;filename=DepreciationSummaryReport.pdf");
OutputStream out = response.getOutputStream();
out.write( bytes );
context.responseComplete();[/code]                                              
        


Everything works fine when the button is clicked #1 and the pdf is downloaded. 
However the *newly* refreshed page does not behavior when the same button is 
clicked #2. It takes another click #3 before the action fires agains. The 
phaseTracker idenitfies the following phases invoked on click #2.

[code]INFO: AFTER INVOKE_APPLICATION(5)
15:34:44,370 INFO  [STDOUT] 27/10/2005 15:34:44 org.exadel.jsf.PhaseTracker 
beforePhase
INFO: BEFORE RESTORE_VIEW(1)
15:34:44,370 INFO  [STDOUT] 27/10/2005 15:34:44 org.exadel.jsf.PhaseTracker 
beforePhase
INFO: BEFORE RESTORE_VIEW(1)
15:34:44,370 INFO  [STDOUT] 27/10/2005 15:34:44 org.exadel.jsf.PhaseTracker 
beforePhase
INFO: BEFORE RESTORE_VIEW(1)
15:34:44,385 INFO  [STDOUT] 27/10/2005 15:34:44 org.exadel.jsf.PhaseTracker 
afterPhase
INFO: AFTER RESTORE_VIEW(1)
15:34:44,385 INFO  [STDOUT] 27/10/2005 15:34:44 org.exadel.jsf.PhaseTracker 
afterPhase
INFO: AFTER RESTORE_VIEW(1)
15:34:44,385 INFO  [STDOUT] 27/10/2005 15:34:44 org.exadel.jsf.PhaseTracker 
afterPhase
INFO: AFTER RESTORE_VIEW(1)
15:34:44,385 INFO  [STDOUT] 27/10/2005 15:34:44 org.exadel.jsf.PhaseTracker 
beforePhase
INFO: BEFORE RENDER_RESPONSE(6)
15:34:44,385 INFO  [STDOUT] 27/10/2005 15:34:44 org.exadel.jsf.PhaseTracker 
beforePhase
INFO: BEFORE RENDER_RESPONSE(6)
15:34:44,385 INFO  [STDOUT] 27/10/2005 15:34:44 org.exadel.jsf.PhaseTracker 
beforePhase
INFO: BEFORE RENDER_RESPONSE(6)
15:34:44,417 INFO  [STDOUT] 27/10/2005 15:34:44 org.exadel.jsf.PhaseTracker 
afterPhase
INFO: AFTER RENDER_RESPONSE(6)
15:34:44,417 INFO  [STDOUT] 27/10/2005 15:34:44 org.exadel.jsf.PhaseTracker 
afterPhase
INFO: AFTER RENDER_RESPONSE(6)
15:34:44,417 INFO  [STDOUT] 27/10/2005 15:34:44 org.exadel.jsf.PhaseTracker 
afterPhase
INFO: AFTER RENDER_RESPONSE(6)[/code]

The application phase is not being invoked. 

Any ideas?

-lp




**********************************************************************
   This message has passed through an insecure network.
    Please direct all enquiries to the message author.
**********************************************************************

Reply via email to