Ваш метод updateC
будет вызван реализацией JSF после процесса проверки фазы, поэтому я думаю, что у вас есть некоторые другие ошибки проверки, которые приводят к тому, что ваш метод никогда не вызывается.
Вы можете разместить тег <h:messages/>
в начале своей формы, чтобы отобразить все ошибки преобразования/проверки.
Однако, в случае, если вы хотите, чтобы обойти эту проверку, вы можете использовать атрибут immediate
так:
<h:selectBooleanCheckbox
value="#{reaCtrl.update}" immediate="true"
valueChangeListener="#{reaCtrl.updateC}" onclick="submit()">
</h:selectBooleanCheckbox>
Добавление этого атрибута будет срабатывать Значение Изменение событий после Применить Запрос значения фазы, что означает, что ваш метод updateC
будет вызываться на этом этапе, после того, как метод xecutes вы должны пропустить на этапе вывода реагирования, так что вы должны изменить свой метод так:
public void updateC(ValueChangeEvent event) {
System.out.println("testC");
FacesContext context = FacesContext.getCurrentInstance();
context.renderResponse();
}
как Знаете ли вы, что метод никогда не срабатывает ?! я попробовал ваш код и отлично работал! как вы объявили переменную обновления? – Tarik
Текст «testC» не печатается. Обновление переменной \t private boolean. – Yassine
Я только что проверил ваш код и его работу! Вы используете Tomcat? Wich version? Вы посмотрели в консоль? Добавьте свой xhtml и bean code. – Tarik