возврат a4j: включенного содержимого с использованием сгенерированного bean-компонента rich: dropDownMenu - PullRequest
2 голосов
/ 29 января 2010

Возможно, мне не хватает пары пунктов, но я собрал приложение jsf / richfaces и хочу иметь возможность сделать простейшую навигацию на основе ajax:

главная страница содержит ссылку на меню моего бина

            <h:form>
                <rich:dropDownMenu binding="#{PrismBacking.nodeMenu}" />
            </h:form>

это относится к коду для методов базового компонента

это моя главная страница ajax панель

    <rich:panel id="content">
        <a4j:include viewId="#{PrismBacking.viewId}" />
    </rich:panel>

Я не могу понять, как заставить базовый компонент использовать выбранный элемент из rich: dropDownMenu для обновления того, что возвращается getViewId.

я думаю: 1) Мне нужно убедиться, что пункты меню в методе getNodeMenu имеют правильную полезную нагрузку, поэтому setViewId вызывается с правильной строкой и мой rich: panel id = "content" перерисовывается.

Буду признателен за любые указания относительно того, как это сделать.
знак

Ответы [ 2 ]

1 голос
/ 29 января 2010

Вы не устанавливаете атрибут reRender нигде в своем коде (в пунктах меню), поэтому панель не будет обновляться после выбора элемента из раскрывающегося списка.

Вы также должны установить атрибут ajaxSubmit en каждого menuItem в значение true, чтобы выполнить запрос ajax. Также проверьте, что ваш слушатель выполнен.

Взгляните на пример http://livedemo.exadel.com/richfaces-demo/richfaces/dropDownMenu.jsf?c=dropDownMenu. Вы можете скачать код, если хотите, с сайта richfaces.

0 голосов
/ 29 января 2010

Следует по возможности избегать использования binding. Взгляните на демонстрацию RichFaces - для каждого примера есть исходные коды и посмотрите, как это достигается.

(Это не отвечает на ваш вопрос, а к лучшему :))

...