Jean-Baptiste Quenot wrote:
> The concepts described in the static pages examples are the same
> in 1.2.6. You would just have to copy
> URIRequestTargetUrlCodingStrategy in your project, it is
> compatible with 1.2.6.
Ok, that's what I did.
In the WebPage class I have something like (StaticLink as in the example)
StaticLink fileLink = new StaticLink("fileLink", new Model("reports/" +
file.getAbsolutePath()));
In the WebApplication class I do
mount("/reports", new URIRequestTargetUrlCodingStrategy("/reports") {
public IRequestTarget decode(RequestParameters requestParameters) {
String path = getURI(requestParameters);
FileResourceStream fileStream = new FileResourceStream(new
File(path));
return new ResourceStreamRequestTarget(fileStream);
}
});
Note that I use a FileResourceStream because my files are not in the
webapp. Now when I try to browse to a certain file, I get this in a
JBoss server
08:09:44,384 ERROR [[rtApplication]] Servlet.service() for servlet
rtApplication threw exception
java.lang.IllegalStateException: getOutputStream() has already been
called for this response
at
org.apache.catalina.connector.Response.getWriter(Response.java:596)
at
org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:186)
at wicket.protocol.http.WebResponse.write(WebResponse.java:315)
at
wicket.protocol.http.BufferedWebResponse.close(BufferedWebResponse.java:75)
at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:229)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
Strange thing: if I replace the 'new File(path)' with 'new
File("/tmp/test.txt")' it actually works (returning test.txt for every
link ofcourse).
Any ideas?
thnx
Jan
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user