我正在开发一个包含许多不同组件的Wicket 1.5 Web应用程序,我很想让用户在不同主题之间进行选择(这意味着要更改某些组件的CSS样式)。因此,在某种程度上,我会将所选主题与用户会话相关联。
我的问题是,在Wicket中这是最好的方法吗?
现在我的组件看起来像这样:
public class SingleLayout extends Panel {
public static final CssResourceReference CSS = new CssResourceReference(SingleLayout.class, "SingleLayout.css");
public SingleLayout(...) {
super(...);
}
protected CssResourceReference getCssResourceReference() {
return CSS;
}
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.renderCSSReference(getCssResourceReference());
}
}
我理想的解决方案'主题系统'将:
答案 0 :(得分:5)
我自己没有这样做,但我建议你去看看Wicket的Session。在Javadoc中,它解释了资源加载。搜索allgorithm的一部分是Style,它是从用户会话中获得的。
它背后的理念,你提供的每种风格的css(你称之为主题)。包含了标准主题的后备。
希望有所帮助。 伯特