It works for me. ResourceLink csvLink = new ResourceLink("csvLink", new ResourceReference(AnnouncementCsvResource.ID), params); add(csvLink);
public class AnnouncementCsvResource extends WebResource { public static final String ID = "csv"; @Override public IResourceStream getResourceStream() { return new CsvResourceStream(); } @Override protected void setHeaders(WebResponse response) { super.setHeaders(response); response.setAttachmentHeader("announcements.csv"); response.setHeader("Cache-Control", "no-cache"); } private class CsvResourceStream extends AbstractStringResourceStream { @Override public String getContentType() { return "text/plain"; } @Override protected Charset getCharset() { return Charset.forName("ISO-8859-1"); } @Override protected String getString() { return "bla bla "; } } } On Tue, Jul 28, 2009 at 10:44 AM, ZedroS Schwart <zedros.schwa...@gmail.com>wrote: > Thanks for this answer Juri. > > I tried it (once again) and it didn't work : the setHeaders method > isn't called... > > I use Live HTTP headers to check what goes through : > http://localhost:8080/charts/data/dataId/KBU > > > > GET /charts/data/dataId/KBU HTTP/1.1 > > Host: localhost:8080 > > User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.11) > Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11 > > Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 > > Accept-Language: en,de;q=0.5 > > Accept-Encoding: gzip,deflate > > Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 > > Keep-Alive: 300 > > Connection: keep-alive > > Cookie: JSESSIONID=1gxaom5muzh66 > > > > HTTP/1.x 200 OK > > Content-Type: text/csv; charset=UTF-8 > > Content-Length: 5726 > > Server: Jetty(6.1.16) > > > thanks again > zedros > > On Tue, Jul 28, 2009 at 8:59 AM, Juri Prokofiev<proj...@gmail.com> wrote: > > To set headers to a resource you need to extend setHeaders method from > > WebResource. Example: > > @Override > > protected void setHeaders(WebResponse response) > > { > > super.setHeaders(response); > > response.setAttachmentHeader("announcements.csv"); > > response.setHeader("Cache-Control", "no-cache"); > > } > > > > Check your headers. If Cache-Control is passed then resource should be > > cached on user side. > > > > On Tue, Jul 28, 2009 at 1:02 AM, ZedroS Schwart > > <zedros.schwa...@gmail.com>wrote: > > > >> hi > >> > >> We need to provide a flash application (www.amcharts.com if anyone is > >> interested) with some content through some files. > >> > >> As the files are users specific (and determined with data from the > >> session), we went for some page delivering the content like this : > >> public AMChartDataProviderPage(final PageParameters parameters) > >> { > >> Object object = parameters.get(DATA_KEY); > >> if ((object == null) || !(object instanceof String) || > >> "".equals(object)) > >> { > >> throw new IllegalStateException("Expected parameter " + > >> DATA_KEY + " not provided or empty"); > >> } > >> String dataId = (String) object; > >> ByteArrayResource resourceStream; > >> try > >> { > >> resourceStream = new ByteArrayResource("text/csv", > >> IOHelper.getResourceAsByteArray(dataId + ".csv")); > >> } > >> catch (IOException e) > >> { > >> throw ExceptionHelper.wrap(e); > >> } > >> getRequestCycle().setRequestTarget(new > >> ResourceStreamRequestTarget(resourceStream.getResourceStream())); > >> } > >> > >> However, I don't manage to get this resource to be cached on the user > >> browser side, despite the resource being cacheable. From what I've > >> seen, setHeaders() in WebResource is never called... Neither did I > >> manage to set them myself (on the page they're never called neither... > >> and the request cycle has no webresponse on which to define the > >> header). > >> > >> Any clue ? > >> > >> thanks in advance > >> zedros > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > >> For additional commands, e-mail: users-h...@wicket.apache.org > >> > >> > > > > > > -- > > http://www.autoladu.ee - kõik varuosad ühes kohas > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > -- http://www.autoladu.ee - kõik varuosad ühes kohas