incubator-adffaces-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthias Wessendorf" <mat...@apache.org>
Subject Re: Providing Files / Streams as download-link with trinidad?
Date Tue, 27 Mar 2007 12:25:48 GMT
why not, at least for the hopfully soon coming sandbox ?

Do you mind to *upload* something like that to jira?

the download thing is a common task, has been ask several times on
myfaces_dev/user as well.

-M

On 3/27/07, William Hoover <whoover@nemours.org> wrote:
> Matthias,
>
> Sure... How would I go about doing that?
>
> I have been writting a few custom trinidad components and was thinking that this might
be a good canidate for it's own component. What's your take on that?
>
> -----Original Message-----
> From: mwessendorf@gmail.com [mailto:mwessendorf@gmail.com]On Behalf Of
> Matthias Wessendorf
> Sent: Tuesday, March 27, 2007 8:05 AM
> To: adffaces-user@incubator.apache.org
> Subject: Re: Providing Files / Streams as download-link with trinidad?
>
>
> Possible,
> long time ago, I dealt w/ that last time :-)
> Yours looks much more detailed. Interested in providing a nice how-to
> for the wiki ?
>
> Thx,
> Matthias
>
> On 3/27/07, William Hoover <whoover@nemours.org> wrote:
> > Matthias,
> >
> > I have been struggling with the same problem when streaming files for download.
I have tried the solution described below, but I still recieve an java.lang.IllegalStateException-
even when calling FacesContext.getCurrentInstance().responseComplete(). This also breaks all
of the links/buttons on the page.
> >
> > -----Original Message-----
> > From: mwessendorf@gmail.com [mailto:mwessendorf@gmail.com]On Behalf Of
> > Matthias Wessendorf
> > Sent: Tuesday, March 27, 2007 4:48 AM
> > To: adffaces-user@incubator.apache.org
> > Subject: Re: Providing Files / Streams as download-link with trinidad?
> >
> >
> > Hello Jochen,
> >
> > I've worked with Apache FOP for creating pdfs. iText or
> > JasperReports are also lib that help you on that task.
> >
> > inside of your backing bean method (referenced by a commandLink or
> > cmdButton) you can do somthing like this:
> >
> > public String pdf() {
> >
> >   FacesContext ctx = FacesContext.getCurrentInstance();
> >
> >   if(!ctx.getResponseComplete()) {
> >
> >
> >       HttpServletResponse response = (HttpServletResponse)
> > ctx.getExternalContext().getResponse();
> >
> >       byte[] file = //do some FOP, or ... stuff;
> >
> >       response.setContentType("application/pdf");
> >       response.setHeader("Content-Disposition", "inline;
> > filename=\"foo.pdf\"");
> >       response.setContentLength(file.length);
> >
> >       OutputStream out = response.getOutputStream();
> >       out.write(file, 0, file.length);
> >       out.flush();
> >       out.close();
> >
> >       ctx.responseComplete();
> >
> >   return null;
> >  }
> >
> >
> > This will work in p(l)ain servlet or struts world too (expect of the
> > usage of jsf api (like FacesContext))
> >
> > However, the *magic* here is the responseComplete()
> > <from_java_doc>
> > Signal the JavaServer Faces implementation that the HTTP response for
> > this request has already been generated (such as an HTTP redirect),
> > and that the request processing lifecycle should be terminated as soon
> > as the current phase is completed.
> > </from_java_doc>
> >
> > and yes... it's getResponseComplete() instead of isResponseComplete()
> >
> > HTH,
> > Matthias
> >
> > On 3/27/07, Jochen Traunecker <madnecker@yahoo.com> wrote:
> > > Hello everybody,
> > >
> > > I'm just wondering if there is some Trinidad-specific / Faces-specific way
to serve binary downloads, like PDFs stored in a database. Or do I have to provide some link
to a non managed servlet?
> > >
> > > Thanks,
> > > Jochen
> > >
> > >
> > >
> > >
> > >
> > > ___________________________________________________________
> > > Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
> > >
> >
> >
> > --
> > Matthias Wessendorf
> > http://tinyurl.com/fmywh
> >
> > further stuff:
> > blog: http://jroller.com/page/mwessendorf
> > mail: mwessendorf-at-gmail-dot-com
> >
> >
>
>
> --
> Matthias Wessendorf
> http://tinyurl.com/fmywh
>
> further stuff:
> blog: http://jroller.com/page/mwessendorf
> mail: mwessendorf-at-gmail-dot-com
>
>


-- 
Matthias Wessendorf
http://tinyurl.com/fmywh

further stuff:
blog: http://jroller.com/page/mwessendorf
mail: mwessendorf-at-gmail-dot-com

Mime
View raw message