Example usage for org.apache.wicket.protocol.http WebApplication getHeaderContributorListeners

List of usage examples for org.apache.wicket.protocol.http WebApplication getHeaderContributorListeners

Introduction

In this page you can find the example usage for org.apache.wicket.protocol.http WebApplication getHeaderContributorListeners.

Prototype

public final HeaderContributorListenerCollection getHeaderContributorListeners() 

Source Link

Usage

From source file:org.wicketstuff.jeeweb.ajax.JEEWebGlobalAjaxHandler.java

License:Apache License

/**
 * Configures the handler to the given application.
 * /*from  w w  w  . j  av  a2 s.  c  om*/
 * @param application
 *            the application to configure the handler to
 */
public static void configure(WebApplication application) {
    application.getRequestCycleListeners().add(new PageRequestHandlerTracker());
    application.mountResource("/" + JEEWebGlobalAjaxHandler.class.getSimpleName(),
            new JEEWebGlobalAjaxHandler());
    application.getHeaderContributorListeners().add(new IHeaderContributor() {

        private static final long serialVersionUID = 1644041155625458328L;

        @Override
        public void renderHead(IHeaderResponse response) {
            JavaScriptResourceReference forReference = new JavaScriptResourceReference(
                    JEEWebGlobalAjaxHandler.class, JEEWebGlobalAjaxHandler.class.getSimpleName() + ".js") {

                private static final long serialVersionUID = -3649384632770480975L;

                @Override
                public List<HeaderItem> getDependencies() {
                    return new ArrayList<HeaderItem>() {
                        private static final long serialVersionUID = 1L;
                        {

                            add(JavaScriptHeaderItem.forReference(WicketAjaxJQueryResourceReference.get()));
                        }
                    };
                }
            };
            response.render(JavaScriptHeaderItem.forReference(forReference));
            addAJaxBaseUrl(response);
        }

        private void addAJaxBaseUrl(IHeaderResponse response) {
            // render ajax base url. It's required by Wicket Ajax support.
            Url baseUrl = RequestCycle.get().getUrlRenderer().getBaseUrl();
            CharSequence ajaxBaseUrl = Strings.escapeMarkup(baseUrl.toString());
            response.render(JavaScriptHeaderItem.forScript("Wicket.Ajax.baseUrl=\"" + ajaxBaseUrl + "\";",
                    "wicket-ajax-base-url"));

        }
    });
}