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

Primefaces SelectBooleanCheckbox снимает флажок при отправке формы

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

Вот мой xhtml-код: -

<h:form id="form" >
<p:panel id="tagsPanel" >
<p:tabView id="tabView"  style="background-color:transparent;background-image:none;" var="tabKey" value="#{MBean.Names}"  
      dynamic="true"  >
<p:dataGrid var="appSettingsList"  value="#{appSettingsMBean.tabData[tabKey]}"    columns="1" styleClass="plainDataGrid">
    <h:panelGrid columns="2"  border="0" cellspacing="0" cellpadding="0"  columnClasses="JspContent12 ,JspContent22"  width="100%" >
         <p:column escape="false" >  
<p:selectBooleanCheckbox value="#{appSettingsList.resultValues.checkboxValue}"   style="float:left" id="checkBoxValue"
                     rendered="#{appSettingsList.currentValues != null and appSettingsList.currentValues.size() > 0 and
                      appSettingsList.displayType.equalsIgnoreCase('single') and appSettingsList.dataType.equalsIgnoreCase('boolean')}">
                     </p:selectBooleanCheckbox>
           </p:column>
        </h:panelGrid>
    </p:dataGrid>   
</p:panel>
          <p:panel border="0" id="buttonRow" style="text-align:center;border-width:0;border-style:none;background-image:none;" >           

        <p:commandButton  value="Save"   id="save"  actionListener="#{MBean.saveSettings()}" ajax="false" style="width:130px" />
</p:panel>
</h:form>

Флажки остаются отмеченными, когда вкладки меняются и нажимается кнопка «Сохранить». Но когда нажимается только кнопка «Сохранить», она снимается
Любая помощь будет оценена по достоинству...

29.01.2015


Ответы:


1

Здесь,

<p:commandButton ... ajax="false" />

Аякс отключен. Таким образом, после отправки формы выполняется полное обновление страницы. Снятие флажка означает, что bean-компонент неправильно сохраняет свое состояние или что вы выполняете бизнес-логику в методе-получателе, из-за чего он каждый раз возвращает новую новую модель вместо той, которая содержит отправленные значения.

У вас есть 2 варианта:

  1. Просто используйте аякс. т.е. избавиться от ajax="false". Если вы собираетесь обновить определенные части представления при отправке, просто укажите соответствующий атрибут update.

  2. Убедитесь, что ваш bean-компонент не связывается с состоянием или геттерами.

29.01.2015
  • Спасибо за ваш ответ @BalusC, но я не связывался с геттерами. Кроме того, состояние флажка остается, когда я просто меняю и нажимаю Отправить вкладку без каких-либо других действий. 06.02.2015
  • Он становится нулевым только при запуске Form без каких-либо действий. Может ли это быть связано с тем, что TabView dynamic = true 06.02.2015
  • Новые материалы

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

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

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

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

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

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

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