Добавление ресурса CSS, доступного для всех компонентов в приложении, с помощью wicket 1.5 - PullRequest
3 голосов
/ 01 июля 2011

Я использую wicket 1.5.x и пытаюсь загрузить файл css, который будет доступен всем страницам, панелям, формам.Прямо сейчас, когда я статически добавляю файл css (расположенный в каталоге [app] / WebApps / style) в моей BasePage и расширяю другие страницы.

Теперь, если я хочу использовать этот файл css для панели, он делаетя не получаю никакого селектора класса / идентификатора, когда я добавляю класс CSS в этот файл для панели. Ни один CSS-файл не прикреплен к HTML-заголовку BasePage.Поэтому вместо этого я хотел использовать глобальный файл CSS.Я пытался сделать так:

В моем классе Application я сделал это, вызвав следующую функцию в init (),

 private void mountResources(){
    mountResource("/css/layout.css", Resources.CSS_BASE);
}

где мой класс Resource,

public abstract class Resources {

public static final ResourceReference CSS_BASE 
 = new  CssResourceReference(OrbitApplication.class, "resources/layout.css"); 

}

Здесь мой css находится в директории main / resource / (структура maven).Но CSS не загружается.Я слышал о HeaderContributor, но не нашел, как использовать в моей заявке на калитку 1.5.

Любая идея / фрагмент, как это сделать?помощь оценена.

1 Ответ

3 голосов
/ 01 июля 2011

Используйте

MyApp.init() {
  super.init();

  org.apache.wicket.Application.getHeaderContributorListenerCollection().add(new IHeaderContributor() {

    public void renderHead(IHeaderResponse response) {
      response.renderCssReference(Resources.CSS_BASE);
    }
  });
}

Почему вы не читаете ответы на свои вопросы в IRC?

...