Система тем CSS в Wicket - PullRequest
       3

Система тем CSS в Wicket

1 голос
/ 25 марта 2012

Я занимаюсь разработкой веб-приложения Wicket 1.5 с множеством различных компонентов, и мне интересно, чтобы пользователь мог выбирать между различными темами (это означает изменение стилей 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());
    }

}

Система тем моего идеального решения ''will:

  • Компоненты будут иметь CSS, который работает по умолчанию, если CSS этого компонента не определен в текущей теме.
  • Компоненты также будут работать в других приложенияхбез этой системы тем.

1 Ответ

5 голосов
/ 25 марта 2012

Я сам этого не делал, но рекомендую взглянуть на Session в Wicket.В Javadoc это объясняет загрузку ресурса.Частью алгоритма поиска является стиль, который получается из пользовательской сессии.

Идея заключается в том, что вы предоставляете CSS для каждого стиля (то, что вы называете темой).Откат к стандартной теме включен.

Надеюсь, это поможет.Bert

...