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
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user