Yes somehow It worked in 7.x
Based on the suggestions from you all, In 9.x, I use  custom
IHeaderResponseDecorator
for Css resources to load into the header section, it works.
And JavaScriptFilteredIntoFooterHeaderResponse is used with a
wicket-container bucket for JS resources to load into the footer before end
of body, but it loads into header section which is not expected.

*Thanks And Regards*

*Sibi.ArunachalammCruncher*


On Wed, Sep 8, 2021 at 5:14 PM Martin Grigorov <mgrigo...@apache.org> wrote:

> On Wed, Sep 8, 2021 at 12:04 PM Arunachalam Sibisakkaravarthi <
> arunacha...@mcruncher.com> wrote:
>
> > Thanks guys for your feedback
> > Implementing custom IHeaderResponseDecorator for css resources works for
> > me.
> > Then I noticed that both css and js resources are loaded in the header.
> Is
> > that expected behaviour in Wicket 9.x? because in my previous
> > implementation in Wicket 7.x JS loaded in the footer which is expected.
> > How do I make the JS to be loaded in the footer to improve page loading
> > performance?
> > @Martin Grigorov somehow adding css resources into
> > getHeaderContributorListeners
> > doesn't work in my case.
> >
> >
> You should wrap your CssHeaderItems into FilteredHeaderItem if you want
> them to be caught by JavaScriptFilteredIntoFooterHeaderResponse.
> But I wonder how this worked for you in 7.x.
> JavaScriptFilteredIntoFooterHeaderResponse is about JavaScriptHeaderItems,
> not CssHeaderItems.
>
>
> >
> >
> > *Thanks And RegardsSibi.ArunachalammCruncher*
> >
> >
> > On Wed, Sep 8, 2021 at 2:24 PM Martin Grigorov <mgrigo...@apache.org>
> > wrote:
> >
> > > Hi,
> > >
> > > Instead of dealing with response decorators you could
> > > use org.apache.wicket.markup.html.IHeaderContributor
> > >
> > > getHeaderContributorListeners().add( return response -> {
> > >         response.render(CssHeaderItem.forReference(css1));
> > >         response.render(CssHeaderItem.forReference(css2));
> > > })
> > >
> > > IHeaderResponseDecorator is more powerful. It should be used when you
> > want
> > > to intercept all header contributions and add/modify/remove
> > contributions.
> > >
> > > On Wed, Sep 8, 2021 at 6:47 AM Arunachalam Sibisakkaravarthi <
> > > arunacha...@mcruncher.com> wrote:
> > >
> > > > Hi guys,
> > > > I am doing Wicket migration from 7.x to 9.x
> > > > In Wicket7.x I add css resource as below, it was working
> > > >
> > > > getHeaderResponseDecorators().add(getHeaderResponseDecorator());
> > > >
> > > > private IHeaderResponseDecorator getHeaderResponseDecorator()
> > > > {
> > > >     return response -> {
> > > >         response.render(CssHeaderItem.forReference(css1));
> > > >
> > > >         response.render(CssHeaderItem.forReference(css2));
> > > >
> > > > return new JavaScriptFilteredIntoFooterHeaderResponse(response,
> > > "scripts");
> > > > };
> > > >
> > > > whereas the above one doesn't work in Wicket9.x
> > > > Is there any alternative to css and js in init() method of
> > > WebApplication?
> > > > so that css/js will be available to all components.
> > > >
> > > >
> > > >
> > > > *Thanks And RegardsSibi.ArunachalammCruncher*
> > > >
> > >
> >
>

Reply via email to