Hi,
You should use response.render(CssHeaderItem.forCSS(string)). This will
contribute it in <style> HTML element. With your approach it will be plain
text in the middle of the HTML.
To get the "string" you can use new
WebExternalResourceStream("report.css").getInputStream(),
read, convert to String, close.
Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov
On Fri, Feb 6, 2015 at 4:21 PM, Per Newgro <[email protected]> wrote:
> Hi,
>
> I like to render a PDF by my wicket page using flying-saucer. There i
> reference my css file by url (link). So far everything works.
> But if i switch to SSL flying-saucer breaks. Hmm.
>
> My solution to this issue would be to include content of my css file
> directly in the wicket-page used to render the pdf.
>
> I tried to get the resource and render it in markup like this
>
> <code>
> MyPage.java
>
> @Override
> public void renderHead(IHeaderResponse response) {
> IResource s = new SharedResourceReference("report.css").getResource();
> Attributes a = new Attributes(getRequest(), getResponse());
> s.respond(a);
> super.renderHead(response);
> }
> </code>
>
> but i get
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
> at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.UnsupportedOperationException
> at
> org.apache.wicket.response.StringResponse.write(StringResponse.java:88)
> at
> org.apache.wicket.request.Response$StreamAdapter.write(Response.java:148)
> at org.apache.wicket.util.io.Streams.copy(Streams.java:109)
> at org.apache.wicket.util.io.Streams.copy(Streams.java:76)
> at
> org.apache.wicket.request.resource.ContextRelativeResource$1.writeData(ContextRelativeResource.java:110)
> at
> org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:528)
> at de.MyPage.renderHead(MyPage.java:88)
> at org.apache.wicket.Component.renderHead(Component.java:4419)
> at org.apache.wicket.Component.renderHead(Component.java:2679)
> at
> org.apache.wicket.markup.renderStrategy.AbstractHeaderRenderStrategy.renderRootComponent(AbstractHeaderRenderStrategy.java:127)
> at
> org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderHeader(ChildFirstHeaderRenderStrategy.java:60)
> at
> org.apache.wicket.markup.html.internal.HtmlHeaderContainer.onComponentTagBody(HtmlHeaderContainer.java:170)
> at
> org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:71)
> at
> org.apache.wicket.Component.internalRenderComponent(Component.java:2529)
> ... 51 more
>
> It seems that my ContextRelativeResource only provides content as byte[]
> ans StringResponse not supporting this.
> Maybe i be off the track.
>
> Thanks for your support
> Per
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>