как сделать следующую страницу в richfaces 4 togglepanel (которая отличается от showcase)?

#java #ajax #jsf-2 #richfaces #toggle

#java #ajax #jsf-2 #richfaces #переключение

Вопрос:

У меня есть панель переключения и командная кнопка a4j, я хотел бы отправить форму и следующую страницу по завершении.

Но это не работает, это не следующая страница, а только отправка. Вот код.

 <a4j:commandButton action="#{inputData.inputId}" value="Next">
  <f:param name="id" value="#{userBean.id}" />
  <rich:toggleControl targetItem="@next" event="complete"/>
</a4j:commandButton>
  

Я попробовал oncomplete=»#{rich:component(‘tooglepanelid’)}.next();» тоже, тоже не работает.. где я могу найти документ по API togglepanel?

Ответ №1:

Вы можете найти API здесь: http://docs.jboss.org/richfaces/latest_4_X/vdldoc /

панель переключения: http://docs.jboss.org/richfaces/latest_4_X/vdldoc/rich/togglePanel.html

Хотя имейте в виду, что работа все еще продолжается.

Если вы измените событие на щелчок, это сработает? Я не думаю, что complete является допустимым значением, поскольку oncomplete не является допустимым событием JS для «родительского» компонента. Но не уверен…

Также попробуйте ввести тег messages, чтобы узнать, есть ли какие-либо ошибки.

Что касается этого:

Я попробовал oncomplete=»#{rich:component(‘tooglepanelid’)}.next();»

Я не думаю, что next() является допустимой функцией JS для этой панели переключения, основываясь на справочной документации по компонентам RF, эти функции выглядят как те, которые вам нужно использовать:

Компонентом <rich:togglePanel> можно управлять через JavaScript API. JavaScript API предоставляет следующие функции, которые являются общими для всех переключаемых панелей:

  1. GetItems() возвращает массив элементов, содержащихся в панели переключения.
  2. getItemsNames() Возвращает массив имен элементов, содержащихся в переключаемой панели.
  3. switchToItem(имя_элемента) Переключается и отображает элемент, идентифицируемый строкой имя_элемента, переданной в качестве параметра.
  4. firstItem(), prevItem(), nextItem(), lastItem() Переключаются и отображают первый элемент, предыдущий элемент, следующий элемент или последний элемент.

Комментарии:

1. Отлично подходит для предоставленного вами API! Кстати, switchType=»server» и oncomplete=»#{rich:component(‘tpid’)}.switchToItem(‘panelitemid’);» работает. Это накладные расходы, поскольку вся панель переключения должна передаваться снова и снова. Есть идеи по улучшению этого?

2. у вас не может быть switchType=»ajax»? Затем только в том же компоненте, в котором у вас есть завершенный attr, включите повторный attr и только повторно укажите идентификатор компонента, который вы хотите обновить

3. На другой странице все еще что-то не так. Наконец, это мое решение, switchType =»ajax» и ActiveItem =»#{inputBean.tabname}» … изменив ActiveItem, я могу имитировать эффект… хотя спасибо за ваш ответ. очень хорошая ссылка.