GWT - как отобразить иерархическую структуру веб-сайта на деятельность / места / виджеты? - PullRequest
4 голосов
/ 03 марта 2011

Я новичок здесь и в GWT, и мой английский не очень хорош, поэтому, пожалуйста, извините.Мне нужно создать веб-сайт, используя GWT.веб-сайт имеет иерархическую структуру: основной глобальный заголовок и пара кнопок.каждая кнопка открывает новую часть приложения, которая имеет свои собственные вложенные вкладки.каждая из вложенных вкладок предполагает навигацию.например:

Основная форма

-> проблемы приложения

---> настройки ---> создать что-то ---> отредактировать что-то

-> Администрация

---> Управление пользователями -> Политики

Теперь я хочу понять, что является лучшим вариантом для использования GWT.Я подумал о двух вариантах: 1. Там будет в основной точке входа деятельности.в его функции запуска мы создадим ActivityManager для каждого подменю (= sub tab = child).каждое подменю будет создавать менеджеров действий для каждого его подменю и так далее.мы установим отображение для каждого менеджера активности и событие смены места.

проблема в том, что мне нужно управлять местами (все места должны идти к основному действию, которое должно принимать его параметры и делегироватьв подпункты и т. д.) в противном случае, когда пользователь скопирует и вставит URL-адрес, это приведет к запуску только дочернего действия, а родительское действие не будет инициализировано.

  1. я могу создатьООП иерархия виджетов, так что - будет активность для каждого листа в дереве структуры иерархии.будет также соответствующая иерархия виджетов.каждый листовой виджет содержит свои собственные компоненты, и все его родительские компоненты (такие как - основной заголовок формы) в этой опции есть только одна активная деятельность.

, что является лучшим вариантом?как бы вы реализовали иерархическую структуру?

спасибо ....

1 Ответ

0 голосов
/ 03 марта 2011

Лучшим вариантом для иерархии меню является использование вложенных TabPanel виджетов.Они могут быть настолько глубокими, насколько вам нужно, и являются отличной альтернативой созданию меню.

Я вижу, вы также хотите управлять двумя вещами:

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

Посадка пользователя на правильнуюtab

Для # 1 вам нужно управлять приходом пользователя на ваше приложение в методе onModuleLoad.См. Этот фрагмент кода для выбора правильной вкладки.

public void onModuleLoad() {
    tabPanel = new TabPanel();

    tabPanel.add(new HTML("<h1>Page 0 Content: Llamas</h1>"), " Page 0 ");
    tabPanel.add(new HTML("<h1>Page 1 Content: Alpacas</h1>"), " Page 1 ");
    tabPanel.add(new HTML("<h1>Page 2 Content: Camels</h1>"), " Page 2 ");

    String hash = Window.Location.getHash();
    if (hash != null && hash.startsWith("#page")) {
        int tabIndex = Integer.parseInt(hash.substring(5));
        tabPanel.selectTab(tabIndex);
    } else {
        tabPanel.selectTab(0);
    }
    RootPanel.get().add(tabPanel);
}

Этот код

Управление историей навигации

См. эту страницу в документации GWT .Мой код, приведенный выше, был взят с этой страницы, но в моем примере я удалил управление историей.

В обоих случаях концепция заключается в том, чтобы найти правильный виджет на основе хеша URL и выбратьэто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...