Nano Hash - криптовалюты, майнинг, программирование

Richfaces: a4j:commandLink с onclick и actionListener

Я использую Richfaces 4.1.0.Final. У меня проблема, похожая на этот пост, однако средство (возврат true;) не работает для меня. Это может быть версия Richfaces, которую я использую, но обновление для меня очень сложно, и я хотел бы сначала убедиться, что проблема в этом, или, предпочтительно, найти обходной путь.

У меня есть ссылка a4j: commandLink в богатом: столбце в богатом: dataTable в богатой: вкладке в богатой: tabPanel. Я хотел бы щелкнуть ссылку, сохранить данные столбца в фоновом компоненте (например, через f:setPropertyActionListener), а затем переключить пользователя на другую вкладку для редактирования (используя: #{rich:component('TabPanel')} .switchToItem('EditTab');)

Если я использую oncomplete для части javascript, обработчик срабатывает, но часть switchToItem не работает. Если вместо этого я использую onclick для части javascript, обработчик не срабатывает, но часть switchToItem работает. Мне нужны оба.

Кто-нибудь знает решение? Это известная проблема в этой версии Richfaces? Кто-нибудь знает, как я могу обойти эту проблему, используя другие компоненты?

Заранее извиняюсь, но я не могу опубликовать свой код.

Спасибо, Джон

Обновление:

Я обновился до Richfaces 4.2.2.Final, но улучшений не было. По-видимому, невозможно использовать a4j:commandLink с f:setPropertyActiopnListener, если вы также используете oncomplete для переключения на другую вкладку.

16.05.2012

  • просто попробуйте с богатыми лицами 3.3, потому что у меня была похожая проблема с финальной версией 4.1.0, и она отлично работала с 3.3.3. 17.05.2012
  • Боюсь, понижение рейтинга не вариант. Но спасибо за добавление масла в теорию ошибок Richfaces. 17.05.2012
  • Как именно switchToItem в oncomplete терпит неудачу? Сбой, как в «Он никогда не переключается», или как в «Он переключается», но все равно показывает старый контент. 23.05.2012
  • Привет BalusC. Используя onclick, он переключается на другую вкладку, но setPropertyActionListener никогда не срабатывает. Если я использую oncomplete, прослушиватель срабатывает, но мне приходится переключаться на другую вкладку вручную. Если я добавлю предупреждение('здесь'); перед кодом switchToItem при завершении, я даже не получаю предупреждение. 23.05.2012
  • ...(упс)... Я получаю предупреждение, но switchToItem не работает. 23.05.2012
  • Если это имеет значение, тип переключателя rich:tabPanel — ajax. 23.05.2012

Ответы:


1

Ok,

Я добавил второй f:setPropertyActionListener, чтобы установить активный элемент TabPanel в EditTab. Затем я добавил oncomplete="location.reload(true);" обновить все и перерисовать с правильной активной вкладкой.

Это работает, но я все же хотел бы услышать лучший подход.

23.05.2012

2

Я попробовал это с RichFaces 4.2.2.Final, и у меня это сработало, когда я использовал onclick:

<rich:dataTable value="#{model.simple}" var="item">
    <rich:column>
        <a4j:commandButton value="click me" onclick="#{rich:component('tabPanel')}.switchToItem('tab3');" action="#{bean.action}">
            <a4j:param assignTo="#{bean.parameter}" name="param" value="#{item}"/>
        </a4j:commandButton>
    </rich:column>
</rich:dataTable>

<rich:tabPanel id="tabPanel">
    <rich:tab name="tab1">tab 1 content</rich:tab>
    <rich:tab name="tab2">tab 2 content</rich:tab>
    <rich:tab name="tab3">tab 3 content</rich:tab>
</rich:tabPanel>

С уважением, Пало

25.05.2012
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..