myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arvid Hülsebus <arvid.huelse...@atanion.com>
Subject Re: [tobago] Implementing excel export example leeds to blocked ui
Date Wed, 14 Mar 2007 09:31:04 GMT
There is a related example in the demo:

http://tobago.atanion.net/tobago-example-demo/faces/best-practice/non-faces-response.jsp

http://myfaces.apache.org/tobago/tobago-example/tobago-example-demo/xref/org/apache/myfaces/tobago/example/demo/bestpractice/BestPracticeController.html#46

Regards,
Arvid

Arvid Hülsebus wrote:
> Hello,
>
> IMO you currently cannot produce 2 different results. Therefore you 
> will have to disable the transition effect for the command like this:
>
> <tc:button label="Export" action="#{controller.export}" 
> transition="false"/>
>
> If you are setting a target attribute like "_blank" the transition is 
> disabled automatically.
>
> Regarding the content disposition. In the past I had some problems 
> with this, too. I have to check how I solved it back then. Looking at 
> the RFC I see there is a parameter name missing. Perhaps the following 
> works::
>
> Content-Disposition: attachment; filename=workbook.xls
>
> Regards,
> Arvid
>
> Stefan Hedtfeld wrote:
>> Hi,
>>
>> I'm using tobago 1.0.10 release on JBoss 4.0.5.
>>
>> I just implemented an excel export as it is shown in the examples. The
>> output is generated correctly, a file safe dialog is shown (in firefox 2
>> on a linux box) and the file is saved. But the UI stays in the "blocked"
>> state (the running squares). Is there a way to redisplay the page the
>> user came from?
>>
>> Code from my controller:
>>
>>   public String export() {
>>     String attachmentName = "workbook.xls";
>>     LOG.info("export called, generating " + attachmentName);
>>     FacesContext context =  FacesContext.getCurrentInstance();
>>     Object response = context.getExternalContext().getResponse();
>>     if (response instanceof HttpServletResponse) {
>>       HttpServletResponse servletResponse = (HttpServletResponse) 
>> response;
>>       servletResponse.setContentType("application/vnd.ms-excel");
>>       servletResponse.setHeader("Content-Disposition", "attachment; " +
>> attachmentName);
>>       List<Entry> list = dataService.getData();
>>       workbookService.export(list, servletResponse.getOutputStream());
>>     }
>>     context.responseComplete();
>>     return null;
>>   }
>>
>> The method is called as an action from a <tc:button>.
>>
>> BTW: do you know a way to get the attachment name (variable
>> attachmentName) as the suggested name in the file save dialog? Firefox
>> suggests the jsp filename (which is editor.jsp in my case), I'd prefer
>> "workook.xls".
>>
>> Regards,
>>
>> Stefan.
>>
>>
>>
>>   
>

Mime
View raw message