使用wicket 1.5添加可用于应用程序中所有组件的css资源

时间:2011-07-01 18:03:36

标签: java wicket

我正在使用wicket 1.5.x并尝试加载一个css文件,该文件将由所有页面,面板,表单共享。现在,当我在我的BasePage中静态添加一个css文件(位于[app] / WebApps / style)目录中并扩展其他页面时。

现在,如果我想将这个css文件用于面板,当我将css类添加到面板的该文件中时,它不会获得任何类/ id选择器。这两个CSS文件都附加到BasePage的html头部。所以相反,我想使用全局css文件。我试过这样做:

在我的Application类中,我通过在init(),

中调用以下函数来做到这一点
 private void mountResources(){
    mountResource("/css/layout.css", Resources.CSS_BASE);
}

我的资源类是

public abstract class Resources {

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

}

这里我的css位于main / resource /目录(maven结构)中。但是css没有加载。我听说过HeaderContributor,但没有找到如何在我的wicket 1.5 appllication中使用。

如何做到这一点的任何想法/片段?帮助赞赏。

1 个答案:

答案 0 :(得分:3)

使用

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

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

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

为什么不在IRC中阅读您对问题的回答?